Revert ISA change
[official-gcc.git] / gcc / ChangeLog
blob66d6552f47ded0fe2c8c7e5911da6ec4460f1e98
1 2015-01-16  David Edelsohn  <dje.gcc@gmail.com>
3         PR target/64623
4         * config/rs6000/default64.h: Revert ISA change.
6 2015-01-16  Richard Biener  <rguenther@suse.de>
8         PR middle-end/64614
9         * tree-ssa-uninit.c: Include tree-cfg.h.
10         (MAX_SWITCH_CASES): New define.
11         (convert_control_dep_chain_into_preds): Handle switch statements.
12         (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
13         (normalize_one_pred_1): Do not split bit-manipulations.
14         Record (x & CST).
16 2015-01-16  Richard Biener  <rguenther@suse.de>
18         PR tree-optimization/64568
19         * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
20         complex load rewriting for TARGET_MEM_REFs.
22 2015-01-16  Uros Bizjak  <ubizjak@gmail.com>
24         * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
26 2015-01-16  Matthew Wahab  <matthew.wahab@arm.com>
28         PR target/64149
29         * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
30         variable.
31         * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
32         (aarch64_lra_p): Remove.
34 2015-01-16  Ilya Enkovich  <ilya.enkovich@intel.com>
36         PR target/64363
37         * ipa-chkp.h (chkp_instrumentable_p): New.
38         * ipa-chkp.c: Include tree-inline.h.
39         (chkp_instrumentable_p): New.
40         (chkp_maybe_create_clone): Use chkp_instrumentable_p.
41         Fix processing of not instrumentable functions.
42         (chkp_versioning): Use chkp_instrumentable_p. Warn about
43         not instrumentable functions.
44         * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
45         chkp_instrumentable_p.
46         * tree-inline.h (copy_forbidden): New.
47         * tree-inline.c (copy_forbidden): Not static anymore.
49 2015-01-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
51         * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
52         ptr1, ptr2 unused.
54 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
56         * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
57         type OP_OUT to OP_INOUT.
59 2015-01-16  Robert Suchanek  <robert.suchanek@imgtec.com>
61         * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
62         (high x) y) to y if x and y have the same base.
64 2015-01-16  James Greenhalgh  <james.greenhalgh@arm.com>
66         * config/arm/cortex-a57.md: New.
67         * config/aarch64/aarch64.md: Include it.
68         * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
69         * config/aarch64/aarch64-tune.md: Regenerate.
71 2015-01-16  Zhenqiang Chen  <zhenqiang.chen@arm.com>
73         PR target/64015
74         * ccmp.c (expand_ccmp_next): New function.
75         (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
76         and compare insn sequence.
77         * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
78         aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
79         (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
80         * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
81         (*ccmp_ior): Changed to ccmp_ior<mode>.
82         (cmp<mode>): New pattern.
83         * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
84         parameters.
85         * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
87 2015-01-16  Ilya Tocar  <ilya.tocar@intel.com>
89         * config/i386/avx2intrin.h (_mm256_bslli_epi128,
90         _mm256_bsrli_epi128): New.
91         * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
93 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
95         * expmed.c (store_bit_field_using_insv): Improve warning message.
96         Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
98 2015-01-15  Jiong Wang  <jiong.wang@arm.com>
100         PR rtl-optimization/64011
101         * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
102         there is partial overflow.
104 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
106         * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
107         prototype.
108         (nds32_expand_epilogue_v3pop): Likewise.
109         * config/nds32/nds32.md (sibcall): Define this for sibling call
110         optimization.
111         (sibcall_register): Likewise.
112         (sibcall_immediate): Likewise.
113         (sibcall_value): Likewise.
114         (sibcall_value_register): Likewise.
115         (sibcall_value_immediate): Likewise.
116         (sibcall_epilogue): Likewise.
117         (epilogue): Pass false to indicate this is not a sibcall epilogue.
118         * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
119         (nds32_expand_epilogue_v3pop): Likewise.
121 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
123         * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
124         * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
125         (return_internal): New.
126         (return): Define this named pattern.
127         (simple_return): Define this named pattern.
128         * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
129         pattern instead of unspec_volatile_func_return.
130         (nds32_expand_epilogue_v3pop): Likewise.
131         (nds32_can_use_return_insn): New function.
133 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
135         * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
136         * config/nds32/nds32.md (pop25return): New.
137         * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
138         pop25return pattern.
140 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
142         * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
143         -mforbid-fp-as-gp, and -mex9 options.
145 2015-01-16  Chung-Ju Wu  <jasonwucj@gmail.com>
147         * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
148         remove -mgp-direct option.
150 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
151         
152         * doc/invoke.texi (--param early-inlining-insns): Update default value.
153         * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
155 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
157         * ipa-inline.c (inline_small_functions): Work around hints
158         cache issue.
160 2015-01-15  Sandra Loosemore  <sandra@codesourcery.com>
162         PR target/59710
163         * doc/invoke.texi (Option Summary): Document new Nios II
164         -mgpopt= syntax.
165         (Nios II Options): Likewise.
166         * config/nios2/nios2.opt: Add -mgpopt= option support.
167         Modify existing -mgpopt and -mno-gpopt options to be aliases.
168         * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
169         * config/nios2/nios2.c (nios2_option_override): Adjust
170         -mgpopt defaulting.
171         (nios2_in_small_data_p): Return true for explicit small data
172         sections even with -G0.
173         (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
174         option choices.
176 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
178         PR ipa/64612
179         * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
180         of comdat locals.
181         (inline_call): Fix removal of aliases.
183 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
185         * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
186         include SANITIZE_VPTR in SANITIZE_UNDEFINED.
187         * opts.c (common_handle_option): Add -fsanitize=vptr.
188         * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
189         BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
190         * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
191         UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
192         (ubsan_expand_vptr_ifn): New prototype.
193         * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
194         expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
195         expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
196         expand_LOOP_VECTORIZED): Make argument nameless, remove
197         ATTRIBUTE_UNUSED.
198         (expand_UBSAN_VPTR): New function.
199         * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
200         in fn spec.
201         (UBSAN_VPTR): New internal function.
202         * sanopt.c (tree_map_traits): Renamed to ...
203         (sanopt_tree_map_traits): ... this.
204         (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
205         (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
206         to sanopt_tree_map_traits renaming.  Add vptr_check_map field.
207         (maybe_optimize_ubsan_vptr_ifn): New function.
208         (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
209         (pass_sanopt::execute): Likewise.  Call sanopt_optimize even for
210         -fsanitize=vptr.
211         * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
212         internal calls like pure functions for aliasing, even when they
213         have other side-effects that prevent making them ECF_PURE.
214         * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
215         (ubsan_expand_vptr_ifn): New function.
217 2015-01-15  Vladimir Makarov  <vmakarov@redhat.com>
219         PR rtl-optimization/64110
220         * stmt.c (parse_output_constraint): Process '^' and '$'.
221         (parse_input_constraint): Ditto.
222         * lra-constraints.c (process_alt_operands): Process the new
223         constraints.
224         * ira-costs.c (record_reg_classes): Process the new constraint
225         '^'.
226         * genoutput.c (indep_constraints): Add '^' and '$'.
227         * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
228         * doc/md.texi: Add description of the new constraints.
230 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
231             Bernd Schmidt  <bernds@codesourcery.com>
232             Cesar Philippidis  <cesar@codesourcery.com>
233             James Norris  <jnorris@codesourcery.com>
234             Tom de Vries  <tom@codesourcery.com>
235             Ilmir Usmanov  <i.usmanov@samsung.com>
236             Dmitry Bocharnikov  <dmitry.b@samsung.com>
237             Evgeny Gavrin  <e.gavrin@samsung.com>
238             Jakub Jelinek  <jakub@redhat.com>
240         * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
241         (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
242         (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
243         New function types.
244         * builtins.c: Include "gomp-constants.h".
245         (expand_builtin_acc_on_device): New function.
246         (expand_builtin, is_inexpensive_builtin): Handle
247         BUILT_IN_ACC_ON_DEVICE.
248         * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
249         New macros.
250         * cgraph.c (cgraph_node::create): Consider flag_openacc next to
251         flag_openmp.
252         * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
253         <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
254         i386/intelmic-offload.h.
255         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
256         to libgomp and its dependencies.
257         * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
258         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
259         * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
260         * config/ia64/hpux.h (LIB_SPEC): Likewise.
261         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
262         * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
263         * doc/generic.texi: Update for OpenACC changes.
264         * doc/gimple.texi: Likewise.
265         * doc/invoke.texi: Likewise.
266         * doc/sourcebuild.texi: Likewise.
267         * gimple-pretty-print.c (dump_gimple_omp_for): Handle
268         GF_OMP_FOR_KIND_OACC_LOOP.
269         (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
270         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
271         GF_OMP_TARGET_KIND_OACC_UPDATE,
272         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
273         Dump more data.
274         * gimple.c: Update comments for OpenACC changes.
275         * gimple.def: Likewise.
276         * gimple.h: Likewise.
277         (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
278         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
279         GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
280         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
281         (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
282         appropriate place.
283         (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
284         * gimplify.c: Include "gomp-constants.h".
285         Update comments for OpenACC changes.
286         (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
287         OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
288         OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
289         (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
290         OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
291         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
292         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
293         OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
294         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
295         OMP_CLAUSE_SEQ.
296         (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
297         GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
298         OMP_CLAUSE_SET_MAP_KIND.
299         (gimplify_oacc_cache): New function.
300         (gimplify_omp_for): Handle OACC_LOOP.
301         (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
302         OACC_DATA.
303         (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
304         OACC_EXIT_DATA, OACC_UPDATE.
305         (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
306         OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
307         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
308         (gimplify_body): Consider flag_openacc next to flag_openmp.
309         * lto-streamer-out.c: Include "gomp-constants.h".
310         * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
311         (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
312         (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
313         (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
314         (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
315         (BUILT_IN_ACC_ON_DEVICE): New builtins.
316         * omp-low.c: Include "gomp-constants.h".
317         Update comments for OpenACC changes.
318         (struct omp_context): Add reduction_map, gwv_below, gwv_this
319         members.
320         (extract_omp_for_data, use_pointer_for_field, install_var_field)
321         (new_omp_context, delete_omp_context, scan_sharing_clauses)
322         (create_omp_child_function, scan_omp_for, scan_omp_target)
323         (check_omp_nesting_restrictions, lower_reduction_clauses)
324         (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
325         Update for OpenACC changes.
326         (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
327         OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
328         OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
329         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
330         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
331         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ.  Use GOMP_MAP_* instead of
332         OMP_CLAUSE_MAP_*.
333         (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
334         Handle GF_OMP_FOR_KIND_OACC_LOOP.
335         (expand_omp_target, lower_omp_target): Handle
336         GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
337         GF_OMP_TARGET_KIND_OACC_UPDATE,
338         GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
339         GF_OMP_TARGET_KIND_OACC_DATA.
340         (pass_expand_omp::execute, execute_lower_omp)
341         (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
342         flag_openmp.
343         (offload_symbol_decl): New variable.
344         (oacc_get_reduction_array_id, oacc_max_threads)
345         (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
346         (maybe_lookup_oacc_reduction, enclosing_target_ctx)
347         (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
348         (oacc_gimple_assign, oacc_initialize_reduction_data)
349         (oacc_finalize_reduction_data, oacc_process_reduction_data): New
350         functions.
351         (is_targetreg_ctx): Remove function.
352         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
353         OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
354         OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
355         OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
356         OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
357         OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
358         * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
359         * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
360         (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
361         (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
362         (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
363         (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
364         * tree-core.h: Update comments for OpenACC changes.
365         (enum omp_clause_map_kind): Remove.
366         (struct tree_omp_clause): Change type of map_kind member from enum
367         omp_clause_map_kind to unsigned char.
368         * tree-inline.c: Update comments for OpenACC changes.
369         * tree-nested.c: Likewise.  Include "gomp-constants.h".
370         (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
371         (convert_tramp_reference_stmt, convert_gimple_call): Update for
372         OpenACC changes.  Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*.  Use
373         OMP_CLAUSE_SET_MAP_KIND.
374         * tree-pretty-print.c: Include "gomp-constants.h".
375         (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
376         OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
377         OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
378         OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
379         OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
380         OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT.  Use GOMP_MAP_*
381         instead of OMP_CLAUSE_MAP_*.
382         (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
383         OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
384         OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
385         * tree-streamer-in.c: Include "gomp-constants.h".
386         (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
387         OMP_CLAUSE_MAP_*.  Use OMP_CLAUSE_SET_MAP_KIND.
388         * tree-streamer-out.c: Include "gomp-constants.h".
389         (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
390         OMP_CLAUSE_MAP_*.
391         * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
392         (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
393         (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
394         * tree.c (omp_clause_num_ops): Update accordingly.
395         * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
396         Likewise.
397         (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
398         (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
399         (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
400         (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
401         (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
402         (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
403         * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
404         (OMP_CLAUSE_SET_MAP_KIND): New macro.
405         * varpool.c (varpool_node::get_create): Consider flag_openacc next
406         to flag_openmp.
407         * config/i386/intelmic-offload.h: New file.
408         * config/nvptx/offload.h: Likewise.
410 2015-01-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
412         * explow.h: Remove duplicate contents.
413         * dojump.h: Likewise.
415 2015-01-15  Richard Earnshaw  <rearnsha@arm.com>
417         * arm.c (arm_xgene_tune): Add default initializer for instruction
418         fusion.
420 2015-01-15  Jan Hubicka  <hubicka@ucw.cz>
422         PR ipa/64068
423         PR ipa/64559
424         * ipa.c (symbol_table::remove_unreachable_nodes):
425         Do not put abstract origins into boundary.
427 2015-01-15  Evgeny Stupachenko  <evstupac@gmail.com>
429         * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
430         * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
432 2015-01-15  Steve Ellcey  <sellcey@mips.com>
434         * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
435         cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
436         builtins.def, and chkp-builtins.def.
438 2015-01-15  David Edelsohn  <dje.gcc@gmail.com>
440         * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
441         ISA 2.7 (POWER8).
443 2015-01-15  Richard Biener  <rguenther@suse.de>
445         PR tree-optimization/61743
446         * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
447         information on PHIs for some simple cases.
449 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
451         * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
452         Include xgene1.md.
453         * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
454         * config/arm/arm-cores.def (xgene1): New entry.
455         * config/arm/arm-tables.opt: Regenerate.
456         * config/arm/arm-tune.md: Regenerate.
457         * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
459 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
461         * tree-if-conv.c: Include hash-map.h.
462         (aggressive_if_conv): New variable.
463         (fold_build_cond_expr): Add simplification of non-zero condition.
464         (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
465         destination block is not always executed.
466         (if_convertible_phi_p): Fix commentary, allow phi nodes have more
467         than two predecessors if AGGRESSIVE_IF_CONV is true.
468         (if_convertible_stmt_p): Fix commentary.
469         (all_preds_critical_p): New function.
470         (has_pred_critical_p): New function.
471         (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
472         BB can have more than two predecessors and all incoming edges can be
473         critical.
474         (predicate_bbs): Skip predication for loop exit block, use build2_loc
475         to compute predicate for true edge.
476         (find_phi_replacement_condition): Delete this function.
477         (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
478         Allow interchange PHI arguments if EXTENDED is false.
479         Change check that block containing reduction statement candidate
480         is predecessor of phi-block since phi may have more than two arguments.
481         (phi_args_hash_traits): New helper structure.
482         (struct phi_args_hash_traits): New type.
483         (phi_args_hash_traits::hash): New function.
484         (phi_args_hash_traits::equal_keys): New function.
485         (gen_phi_arg_condition): New function.
486         (predicate_scalar_phi): Add handling of phi nodes with more than two
487         arguments, delete COND and TRUE_BB arguments, insert body of
488         find_phi_replacement_condition to predicate ordinary phi nodes.
489         (predicate_all_scalar_phis): Skip blocks with the only predecessor,
490         delete call of find_phi_replacement_condition and invoke
491         predicate_scalar_phi with two arguments.
492         (insert_gimplified_predicates): Add assert that non-predicated block
493         don't have statements to insert.
494         (ifcvt_split_critical_edges): New function.
495         (ifcvt_split_def_stmt): Likewise.
496         (ifcvt_walk_pattern_tree): Likewise.
497         (stmt_is_root_of_bool_pattern): Likewise.
498         (ifcvt_repair_bool_pattern): Likewise.
499         (ifcvt_local_dce): Likewise.
500         (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
501         is copy of inner or outer loop force_vectorize field, invoke
502         ifcvt_split_critical_edges, ifcvt_local_dce and
503         ifcvt_repair_bool_pattern for aggressive if-conversion.
505 2015-01-15  Philipp Tomsich  <ptomsich@theobroma-systems.com>
507         * config/aarch64/aarch64.md: Include xgene1.md.
508         * config/aarch64/xgene1.md: New file.
510 2015-01-15  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
512         * config/aarch64/aarch64-cores.def (xgene1): Update/add the
513         xgene1 (APM XGene-1) core definition.
514         * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
515         * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
516         * doc/invoke.texi: Document -mcpu=xgene1.
518 2015-10-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
520         * dojump.h: New header file.
521         * explow.h: Likewise.
522         * expr.h: Remove includes.
523         Move expmed.c prototypes to expmed.h.
524         Move dojump.c prototypes to dojump.h.
525         Move alias.c prototypes to alias.h.
526         Move explow.c prototypes to explow.h.
527         Move calls.c prototypes to calls.h.
528         Move emit-rtl.c prototypes to emit-rtl.h.
529         Move varasm.c prototypes to varasm.h.
530         Move stmt.c prototypes to stmt.h.
531         (saved_pending_stack_adjust): Move to dojump.h.
532         (adjust_address): Move to explow.h.
533         (adjust_address_nv): Move to emit-rtl.h.
534         (adjust_bitfield_address): Likewise.
535         (adjust_bitfield_address_size): Likewise.
536         (adjust_bitfield_address_nv): Likewise.
537         (adjust_automodify_address_nv): Likewise.
538         * explow.c (expr_size): Move to expr.c.
539         (int_expr_size): Likewise.
540         (tree_expr_size): Likewise.
541         Include calls.h dojump.h emit-rtl.h explow.h expmed.h
542         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
543         * genemit.c (main): Generate includes statistics.h, real.h, fixed-value.h,
544         insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
545         * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h, function.h,
546         statistics.h, real.h, fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
547         stmt.h.
548         * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
549         fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
550         * genemit.c (open_base_files): Generate includes flags.h, statistics.h, real.h,
551         fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h,
552         stmt.h.
553         * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h, hash-set.h, vec.h,
554         machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h, flags.h, statistics.h,
555         double-int.h, real.h, fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h,
556         insn-config.h, expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
557         * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
558         double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
559         function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
560         insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
561         tm.h tree.h varasm.h vec.h wide-int.h.
562         * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
563         explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
564         hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
565         real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
566         * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
567         explow.h expmed.h fixed-value.h flags.h inchash.h insn-config.h
568         real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
569         * loop-iv.c: Likewise.
570         * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
571         explow.h expmed.h fixed-value.h flags.h inchash.h real.h
572         statistics.h stmt.h tree.h varasm.h wide-int.h.
573         * lra-constraints.c: Likewise.
574         * lra-eliminations.c: Likewise.
575         * lra-lives.c: Likewise.
576         * lra-remat.c: Likewise.
577         * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
578         explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
579         statistics.h stmt.h tree.h varasm.h wide-int.h.
580         * hw-doloop.c: Likewise.
581         * ira-color.c: Likewise.
582         * ira-emit.c: Likewise.
583         * loop-doloop.c: Likewise.
584         * loop-invariant.c: Likewise.
585         * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
586         explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
587         statistics.h stmt.h tree.h varasm.h wide-int.h.
588         * caller-save.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
589         explow.h expmed.h fixed-value.h inchash.h real.h statistics.h
590         stmt.h tree.h varasm.h wide-int.h.
591         * combine-stack-adj.c: Likewise.
592         * cse.c: Likewise.
593         * ddg.c: Likewise.
594         * ifcvt.c: Likewise.
595         * ira-costs.c: Likewise.
596         * jump.c: Likewise.
597         * lra-coalesce.c: Likewise.
598         * lra-spills.c: Likewise.
599         * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
600         explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
601         stmt.h varasm.h wide-int.h.
602         * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
603         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
604         varasm.h.
605         * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
606         double-int.h explow.h expmed.h fixed-value.h flags.h real.h
607         statistics.h stmt.h varasm.h wide-int.h.
608         * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
609         expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
610         varasm.h wide-int.h.
611         * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
612         expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
613         * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
614         emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
615         statistics.h stmt.h.
616         * config/tilepro/tilepro.c: Likewise.
617         * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
618         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
619         * config/pdp11/pdp11.c: Likewise.
620         * config/xtensa/xtensa.c: Likewise.
621         * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
622         explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
623         varasm.h.
624         * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
625         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
626         insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
627         * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
628         fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
629         insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
630         * rtl-chkp.c: Likewise.
631         * tree-chkp-opt.c: Likewise.
632         * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h explow.h
633         expmed.h fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
634         insn-config.h real.h statistics.h stmt.h varasm.h.
635         * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
636         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
637         statistics.h stmt.h.
638         * tree-vect-data-refs.c: Likewise.
639         * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
640         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
641         rtl.h statistics.h stmt.h varasm.h.
642         * internal-fn.c: Likewise.
643         * ipa-icf-gimple.c: Likewise.
644         * lto-section-out.c: Likewise.
645         * tree-data-ref.c: Likewise.
646         * tree-nested.c: Likewise.
647         * tree-outof-ssa.c: Likewise.
648         * tree-predcom.c: Likewise.
649         * tree-pretty-print.c: Likewise.
650         * tree-scalar-evolution.c: Likewise.
651         * tree-ssa-strlen.c: Likewise.
652         * tree-vect-loop.c: Likewise.
653         * tree-vect-patterns.c: Likewise.
654         * tree-vect-slp.c: Likewise.
655         * tree-vect-stmts.c: Likewise.
656         * tsan.c: Likewise.
657         * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
658         fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
659         stmt.h.
660         * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
661         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
662         statistics.h stmt.h varasm.h.
663         * loop-unroll.c: Likewise.
664         * ubsan.c: Likewise.
665         * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
666         expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
667         stmt.h varasm.h.
668         * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
669         fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
670         * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
671         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
672         statistics.h stmt.h.
673         * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
674         expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
675         statistics.h stmt.h varasm.h.
676         * gimple-match-head.c: Likewise.
677         * lto-cgraph.c: Likewise.
678         * lto-section-in.c: Likewise.
679         * lto-streamer-in.c: Likewise.
680         * lto-streamer-out.c: Likewise.
681         * tree-affine.c: Likewise.
682         * tree-cfg.c: Likewise.
683         * tree-cfgcleanup.c: Likewise.
684         * tree-if-conv.c: Likewise.
685         * tree-into-ssa.c: Likewise.
686         * tree-ssa-alias.c: Likewise.
687         * tree-ssa-copyrename.c: Likewise.
688         * tree-ssa-dse.c: Likewise.
689         * tree-ssa-forwprop.c: Likewise.
690         * tree-ssa-live.c: Likewise.
691         * tree-ssa-math-opts.c: Likewise.
692         * tree-ssa-pre.c: Likewise.
693         * tree-ssa-sccvn.c: Likewise.
694         * tree-tailcall.c: Likewise.
695         * tree-vect-generic.c: Likewise.
696         * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
697         fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
698         * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
699         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
700         * varasm.c: Likewise.
701         * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
702         fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
703         varasm.h.
704         * init-regs.c: Likewise.
705         * ira.c: Likewise.
706         * omp-low.c: Likewise.
707         * stack-ptr-mod.c: Likewise.
708         * tree-ssa-reassoc.c: Likewise.
709         * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
710         fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
711         varasm.h.
712         * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
713         fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
714         * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
715         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
716         * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
717         fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
718         * tree-ssa-phiopt.c: Likewise.
719         * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
720         fixed-value.h hashtab.h real.h statistics.h stmt.h.
721         * config/fr30/fr30.c: Likewise.
722         * config/frv/frv.c: Likewise.
723         * expr.c: Likewise.
724         * final.c: Likewise.
725         * optabs.c: Likewise.
726         * passes.c: Likewise.
727         * simplify-rtx.c: Likewise.
728         * stmt.c: Likewise.
729         * toplev.c: Likewise.
730         * var-tracking.c: Likewise.
731         * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
732         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
733         * lower-subreg.c: Likewise.
734         * postreload-gcse.c: Likewise.
735         * ree.c: Likewise.
736         * reginfo.c: Likewise.
737         * store-motion.c: Likewise.
738         * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
739         fixed-value.h hashtab.h real.h stmt.h varasm.h.
740         * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
741         fixed-value.h hashtab.h statistics.h stmt.h.
742         * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
743         fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
744         * except.c: Likewise.
745         * explow.c: Likewise.
746         * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
747         fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
748         varasm.h.
749         * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
750         fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
751         * tree-ssa-structalias.c: Likewise.
752         * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
753         fixed-value.h insn-config.h real.h statistics.h.
754         * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
755         fixed-value.h insn-config.h real.h statistics.h stmt.h.
756         * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
757         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
758         * cfgbuild.c: Likewise.
759         * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
760         fixed-value.h real.h rtl.h statistics.h stmt.h.
761         * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
762         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
763         * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
764         fixed-value.h real.h statistics.h stmt.h.
765         * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
766         fixed-value.h real.h statistics.h stmt.h varasm.h.
767         * cprop.c: Likewise.
768         * modulo-sched.c: Likewise.
769         * postreload.c: Likewise.
770         * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
771         flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
772         statistics.h stmt.h varasm.h.
773         * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
774         explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
775         rtl.h statistics.h stmt.h varasm.h.
776         * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
777         fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
778         varasm.h.
779         * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
780         function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
781         varasm.h.
782         * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
783         fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
784         varasm.h.
785         * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
786         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
787         * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
788         function.h real.h statistics.h stmt.h varasm.h.
789         * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
790         insn-config.h real.h statistics.h stmt.h.
791         * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
792         statistics.h stmt.h.
793         * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
794         fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
795         statistics.h stmt.h varasm.h.
796         * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
797         flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
798         * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
799         flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
800         * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
801         fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
802         statistics.h stmt.h varasm.h.
803         * ipa-polymorphic-call.c: Likewise.
804         * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h expmed.h
805         fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
806         stmt.h.
807         * config/c6x/c6x.c: Likewise.
808         * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h explow.h
809         expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
810         statistics.h stmt.h varasm.h.
811         * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
812         hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h varasm.h.
813         * ipa-split.c: Likewise.
814         * tree-eh.c: Likewise.
815         * tree-ssa-dce.c: Likewise.
816         * tree-ssa-loop-niter.c: Likewise.
817         * tree-vrp.c: Likewise.
818         * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
819         expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
820         stmt.h.
821         * config/nds32/nds32-fp-as-gp.c: Likewise.
822         * config/nds32/nds32-intrinsic.c: Likewise.
823         * config/nds32/nds32-isr.c: Likewise.
824         * config/nds32/nds32-md-auxiliary.c: Likewise.
825         * config/nds32/nds32-memory-manipulation.c: Likewise.
826         * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
827         * config/nds32/nds32-predicates.c: Likewise.
828         * config/nds32/nds32.c: Likewise.
829         * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
830         fixed-value.h hashtab.h real.h statistics.h.
831         * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
832         fixed-value.h hashtab.h real.h statistics.h stmt.h.
833         * config/arm/arm.c: Likewise.
834         * config/avr/avr.c: Likewise.
835         * config/bfin/bfin.c: Likewise.
836         * config/h8300/h8300.c: Likewise.
837         * config/i386/i386.c: Likewise.
838         * config/ia64/ia64.c: Likewise.
839         * config/iq2000/iq2000.c: Likewise.
840         * config/m32c/m32c.c: Likewise.
841         * config/m32r/m32r.c: Likewise.
842         * config/m68k/m68k.c: Likewise.
843         * config/mcore/mcore.c: Likewise.
844         * config/mep/mep.c: Likewise.
845         * config/mips/mips.c: Likewise.
846         * config/mn10300/mn10300.c: Likewise.
847         * config/moxie/moxie.c: Likewise.
848         * config/pa/pa.c: Likewise.
849         * config/rl78/rl78.c: Likewise.
850         * config/rx/rx.c: Likewise.
851         * config/s390/s390.c: Likewise.
852         * config/sh/sh.c: Likewise.
853         * config/sparc/sparc.c: Likewise.
854         * config/spu/spu.c: Likewise.
855         * config/stormy16/stormy16.c: Likewise.
856         * config/v850/v850.c: Likewise.
857         * config/vax/vax.c: Likewise.
858         * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
859         fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
860         * config/msp430/msp430.c: Likewise.
861         * predict.c: Likewise.
862         * value-prof.c: Likewise.
863         * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
864         expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
865         * config/microblaze/microblaze.c: Likewise.
866         * config/nios2/nios2.c: Likewise.
867         * config/rs6000/rs6000.c: Likewise.
868         * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
869         insn-config.h real.h rtl.h statistics.h stmt.h.
870         * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
871         insn-config.h real.h statistics.h stmt.h.
872         * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
873         fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
874         * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
875         fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
876         * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
877         real.h statistics.h stmt.h.
878         * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
879         fixed-value.h statistics.h stmt.h.
880         * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
881         stmt.h.
883 2015-01-15  Jakub Jelinek  <jakub@redhat.com>
885         * gengtype.c (create_user_defined_type): Workaround
886         -Wmaybe-uninitialized false positives.
887         * cse.c (fold_rtx): Likewise.
888         * loop-invariant.c (gain_for_invariant): Likewise.
890 2015-01-15  Eric Botcazou  <ebotcazou@adacore.com>
892         * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
893         set the memory attributes in all cases but clear MEM_EXPR if need be.
895 2015-01-15  Yuri Rumyantsev  <ysrumyan@gmail.com>
897         PR tree-optimization/64434
898         * cfgexpand.c (reorder_operands): New function.
899         (expand_gimple_basic_block): Insert call of reorder_operands if
900         optimized is true.
902 2015-01-15  Matthew Fortune  <matthew.fortune@imgtec.com>
904         * config/mips/micromips.md (*swp): Remove explicit parallel.
905         (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
906         * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
907         (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
908         (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
909         (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
910         (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
911         (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
912         (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
913         (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
914         (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
915         (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
916         (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
917         (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
918         (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
919         (mips_wrdsp): Likewise.
920         * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
921         parallel.
922         (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
923         (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
924         (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
925         (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
926         (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
927         (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
928         * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
929         (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
930         (ssmaddsqdq4, ssmsubsqdq4): Likewise.
932 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
934         * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
935         (mips_print_operand): Support 'y' to print exact log2 in decimal
936         of a const_int.
937         * config/mips/mips.h (ISA_HAS_LSA): New define.
938         (ISA_HAS_DLSA): Likewise.
939         * config/mips/mips.md (<GPR:d>lsa): New define_insn.
940         * config/mips/predicates.md (const_immlsa_operand): New predicate.
942 2015-01-15  Martin Liska  <mliska@suse.cz>
944         PR target/64377
945         * optc-save-gen.awk: Add support for array types.
947 2015-01-15  Richard Biener  <rguenther@suse.de>
949         PR middle-end/64365
950         * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
951         for MEM_REF access functions with the same base can never partially
952         overlap.
954 2015-01-14  Marcos Diaz <marcos.diaz@tallertechnologies.com>
956         * common.opt: New option -fstack-protector-explicit.
957         * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
958         (stack_protect_decl_phase): Handle stack_protect attribute for
959         explicit stack protection requests.
960         (expand_used_vars): Similarly.
961         * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
962         * doc/extend.texi: Add documentation for "stack_protect" attribute.
963         * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
965 2015-01-14  Oleg Endo  <olegendo@gcc.gnu.org>
967         PR target/53988
968         * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
969         reg-reg copies.
970         (sh_extending_set_of_reg): New struct.
971         (sh_find_extending_set_of_reg, sh_split_tst_subregs,
972         sh_remove_reg_dead_or_unused_notes): New Declarations.
973         * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
974         sh_find_extending_set_of_reg, sh_split_tst_subregs,
975         sh_extending_set_of_reg::use_as_extended_reg): New functions.
976         * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
977         convert to insn_and_split and use new function sh_split_tst_subregs.
979 2015-01-14  Sandra Loosemore  <sandra@codesourcery.com>
981         * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
982         option.
983         (Optimization Options): Move -fuse-ld documentation to...
984         (Link Options): ...here.
986 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
988         * config/mips/constraints.md (ZC): Add support for R6 LL/SC
989         offsets.
990         (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
991         * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
992         (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
993         * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
994         instead of ZR for the memory operand of LL/SC.
995         (compare_and_swap_12, sync_add<mode>): Likewise.
996         (sync_<optab>_12, sync_old_<optab>_12): Likewise.
997         (sync_new_<optab>_12, sync_nand_12): Likewise.
998         (sync_old_nand_12, sync_new_nand_12): Likewise.
999         (sync_sub<mode>, sync_old_add<mode>): Likewise.
1000         (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
1001         (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
1002         (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
1003         (sync_nand<mode>, sync_old_nand<mode>): Likewise.
1004         (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
1005         (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
1006         (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
1007         * doc/md.texi (ZC): Update description.
1009 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
1011         * builtins.c (expand_builtin_atomic_exchange): Remove error when
1012         memory model is CONSUME.
1013         (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
1014         expand_builtin_atomic_store): Change invalid memory model errors to
1015         warnings.
1016         (expand_builtin_atomic_clear): Change invalid model errors to warnings
1017         and issue warning for CONSUME.
1019 2015-01-14  Aldy Hernandez  <aldyh@redhat.com>
1021         * lto-cgraph: Update function comments for
1022         lto_symtab_encoder_encode_*.
1024 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
1026         * Makefile.in (site.exp): Do not set ENABLE_LTO.
1028 2015-01-14  Ilya Verbin  <ilya.verbin@intel.com>
1030         * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
1031         * lto-cgraph.c (select_what_to_stream): Remove argument, use
1032         lto_stream_offload_p instead.
1033         * lto-streamer.h (select_what_to_stream): Remove argument.
1034         * passes.c (ipa_write_summaries): Likewise.
1035         * tree-pass.h (ipa_write_summaries): Likewise.
1037 2015-01-14  Richard Biener  <rguenther@suse.de>
1039         PR tree-optimization/59354
1040         * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
1041         groups larger than the slp group size as having gaps.
1043 2015-01-14  Andrew MacLeod  <amacleod@redhat.com>
1045         PR middle-end/59448
1046         * builtins.c (get_memmodel): Promote consume to acquire always.
1048 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
1050         PR target/64386
1051         * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
1052         V32HImode. 
1054 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
1056         PR target/64393
1057         * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
1058         Enable AVX512BW.
1059         (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
1060         * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
1061         AVX512VBMI, as it implies AVX512BW.
1063 2015-01-14  Ilya Tocar  <ilya.tocar@intel.com>
1065         PR target/64387
1066         * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
1067         (vec_unpacks_hi_v16sf): Ditto.
1069 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1071         * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
1072         is not available.
1074 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1076         * doc/invoke.texi (mapcs): Mention deprecation.
1077         (mapcs-frame): Likewise.
1079 2015-01-14  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1081         PR target/64453
1082         * config/arm/arm.c (callee_saved_reg_p): Define.
1083         (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
1084         register is callee saved instead of !call_used_regs[reg].
1085         (thumb1_compute_save_reg_mask): Likewise.
1087 2015-01-14  Hale Wang  <hale.wang@arm.com>
1089         * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
1090         Cortex-M7.
1092 2015-01-14  Richard Biener  <rguenther@suse.de>
1094         PR lto/64415
1095         * tree-inline.c (insert_debug_decl_map): Check destination
1096         function MAY_HAVE_DEBUG_STMTS.
1097         (insert_init_debug_bind): Likewise.
1098         (insert_init_stmt): Remove redundant check.
1099         (remap_gimple_stmt): Drop debug stmts if the destination
1100         function has var-tracking assignments disabled.
1102 2015-01-14  Martin Liska  <mliska@suse.cz>
1104         * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
1105         IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
1107 2015-01-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1109         PR target/64460
1110         * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
1111         (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
1113 2015-01-14  Matthew Fortune  <matthew.fortune@imgtec.com>
1115         * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
1116         level from an ARCH; do not inject the default.
1117         (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
1118         MIPS_ISA_LEVEL_SPEC.
1119         (MIPS_ISA_NAN2008_SPEC): Update comment.
1120         (BASE_DRIVER_SELF_SPECS): Likewise.
1121         * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
1122         MIPS_DEFAULT_ISA_LEVEL_SPEC.
1123         * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
1124         * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
1125         * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
1127 2015-01-14  Richard Biener  <rguenther@suse.de>
1129         PR tree-optimization/64493
1130         PR tree-optimization/64495
1131         * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
1132         assign the proper vectorized PHI to the inner loop exit PHIs.
1134 2015-01-14  Joey Ye  <joey.ye@arm.com>
1136         * config/arm/arm.c (arm_compute_save_reg_mask):
1137         Do not save lr in case of tail call.
1138         * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
1140 2015-01-14  Martin Uecker <uecker@eecs.berkeley.edu>
1142         * tree-vrp.c (check_array_ref): Emit more warnings
1143         for warn_array_bounds >= 2.
1144         * common.opt: New option -Warray-bounds=.
1145         * doc/invoke.texi: Document -Warray-bounds=.
1147 2015-01-14  Chung-Ju Wu  <jasonwucj@gmail.com>
1149         * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
1150         (mforbid-fp-as-gp): Remove.
1151         (mex9): Remove.
1152         * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
1153         (nds32_symbol_load_store_p): Remove.
1154         (nds32_fp_as_gp_check_available): Clean up implementation.
1155         * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
1156         cases.
1157         * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
1158         fp-as-gp and ex9 cases.
1160 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
1162         * tree-profile.c (init_ic_make_global_vars): Drop workaround
1163         for bintuils bug 14342.
1164         (init_ic_make_global_vars): Likewise.
1165         (gimple_init_edge_profiler): Likewise.
1166         (gimple_gen_ic_func_profiler): Likewise.
1168 2015-01-13  Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>
1170         * ipa-inline.c (inline_small_functions): Swap the operands in
1171         enum.
1173 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
1175         PR ipa/64481
1176         * ipa-inline-analysis.c (node_growth_cache): Remove.
1177         (initialize_growth_caches): Do not initialize it.
1178         (free_growth_caches): Do not free it.
1179         (do_estimate_growth): Rename to ...
1180         (estimate_growth): ... this one; drop growth cache code.
1181         (growth_likely_positive): Always go the heuristics way.
1182         * ipa-inline.c (can_inline_edge_p): Walk through aliases.
1183         (reset_edge_caches): Do not reset node growth.
1184         (heap_edge_removal_hook): Do not maintain cache.
1185         (inline_small_functions): Likewise; strenghten sanity check.
1186         (ipa_inline): Do not maintain caches.
1187         * ipa-inline.h (node_growth_cache): Remove.
1188         (do_estimate_growth): Remove to ...
1189         (estimate_growth): this one; remove inline version.
1190         (reset_node_growth_cache): Remove.
1192 2015-01-13  Jan Hubicka  <hubicka@ucw.cz>
1194         PR ipa/64565
1195         * ipa-inline.c (inline_small_functions): Update callee keys after
1196         resolving speculation
1197         (inline_small_functions): Always check monotonicity of the queue.
1199 2015-01-13  Marek Polacek  <polacek@redhat.com>
1201         PR middle-end/64391
1202         * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
1204 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
1206         PR rtl-optimization/64286
1207         * ree.c (combine_reaching_defs): Move part of comment earlier,
1208         remove !SCALAR_INT_MODE_P check.
1209         (add_removable_extension): Don't add vector mode
1210         extensions if all uses of the source register aren't the same
1211         vector extensions.
1213 2015-01-13  Renlin Li  <renlin.li@arm.com>
1215         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
1216         (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
1218 2015-01-13  Martin Liska  <mliska@suse.cz>
1220         * ipa-icf.c (sem_function::equals_private): Call new functions
1221         cl_target_option_print_diff and cl_optimization_print_diff.
1222         * optc-save-gen.awk (cl_target_option_print_diff): New function.
1223         (cl_optimization_print_diff): Likewise.
1224         * opth-gen.awk: Likewise.
1226 2015-01-13  Richard Sandiford  <richard.sandiford@arm.com>
1228         * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
1229         (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
1230         (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
1231         (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
1232         (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
1233         (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
1235 2015-01-13  Andrew Pinski   <apinski@cavium.com>
1237         * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
1238         instead of src mode.    
1240 2015-01-13  Richard Biener  <rguenther@suse.de>
1242         PR lto/64373
1243         * lto-streamer-out.c (tree_is_indexable): Guard for NULL
1244         DECL_CONTEXT.
1246 2015-01-13  Andrew Pinski   <apinski@cavium.com>
1248         * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
1249         volatile mems.
1250         (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
1252 2015-01-13  Jakub Jelinek  <jakub@redhat.com>
1254         PR middle-end/63974
1255         * cfgexpand.c (expand_computed_goto): Don't call
1256         convert_memory_address here.
1258 2015-01-13  Richard Biener  <rguenther@suse.de>
1260         PR tree-optimization/64406
1261         * tree-loop-distibution.c (pass_loop_distribution::execute):
1262         Reset the SCEV hashtable if we distributed anything.
1264 2015-01-13  Richard Biener  <rguenther@suse.de>
1266         PR tree-optimization/64404
1267         * tree-vect-stmts.c (vectorizable_load): Reject conflicting
1268         SLP types for CSEd loads.
1270 2015-01-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
1272         PR tree-optimization/64436
1273         * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
1274         merge of two symbolic numbers for a bitwise OR to ...
1275         (perform_symbolic_merge): This. Also fix computation of the range and
1276         end of the symbolic number corresponding to the result of a bitwise OR.
1278 2015-01-13  Richard Biener  <rguenther@suse.de>
1280         PR tree-optimization/64568
1281         * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
1282         release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
1284 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1286         * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
1287         TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
1289 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1291         * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
1292         target-specific symbol_ref flag.
1293         (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
1294         resides in rodata section.
1295         * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
1296         (nds32_encode_section_info): New function.
1298 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1300         * config/nds32/nds32.md (call): Use pseudo instruction bal which
1301         clobbers TA_REGNUM if large code model is specified.
1302         (call_register): Likewise.
1303         (call_immediate): Likewise.
1304         (call_value): Likewise.
1305         (call_value_register): Likewise.
1306         (call_value_immediate): Likewise.
1308 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1310         * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
1311         (TARGET_CMODEL_MEDIUM): New macro.
1312         (TARGET_CMODEL_LARGE): New macro.
1313         * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
1314         code model setting in assembly code.
1316 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1318         * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
1319         Remove MASK_GP_DIRECT flag.
1320         * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
1321         one of the multilib default options.
1322         * config/nds32/nds32.opt (mgp-direct): Remove.
1323         * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
1324         -mgp-direct.  We also remove unnecessary -mlittle-endian/-mbig-endian.
1326 2015-01-13  Chung-Ju Wu  <jasonwucj@gmail.com>
1328         * config/nds32/nds32.opt (mcmodel): Add new option.
1329         * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
1330         to describe code model.
1332 2015-01-13  Oleg Endo  <olegendo@gcc.gnu.org>
1334         PR target/64479
1335         * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
1337 2015-01-12  Kaz Kojima  <kkojima@gcc.gnu.org>
1339         * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
1340         (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
1341         (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
1342         (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
1343         __builtin_sh_set_fpscr.
1345 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
1347         * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
1348         after a funtion name just to indicate it is a function.
1349         ([-fsanitize-undefined-trap-on-error]): Likewise.
1350         ([-fdbg-cnt=]): Likewise.
1351         ([-mmemcpy]): Likewise.
1352         ([-mflush-func]): Likewise.
1353         ([-msynci]): Likewise.
1355 2015-01-12  Sandra Loosemore  <sandra@codesourcery.com>
1357         * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
1358         example.
1359         
1360 2015-01-12  Jakub Jelinek  <jakub@redhat.com>
1362         PR tree-optimization/64563
1363         * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
1364         instead of != VR_VARYING.
1366         PR target/64513
1367         * config/i386/i386.c (ix86_expand_prologue): Add
1368         REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
1370         PR tree-optimization/64454
1371         * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
1372         op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
1373         for signed or [0, op1 - 1] for unsigned modulo.
1374         (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
1375         even if op1 does not satisfy integer_pow2p.
1377         PR other/64370
1378         * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
1380 2015-01-12  Jeff Law  <law@redhat.com>
1382         PR target/64461
1383         * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
1384         (trunchiqi2, truncsihi2): Similarly.
1386         * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
1387         rather than calling F.
1389 2015-01-12  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1391         * tsan.c (instrument_expr): Use force_gimple_operand.
1392         Use may_be_nonaddressable_p instead of is_gimple_addressable.
1394 2015-01-12  Richard Biener  <rguenther@suse.de>
1396         PR tree-optimization/64530
1397         * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
1398         back dr1.
1400 2015-01-12  Richard Biener  <rguenther@suse.de>
1402         PR middle-end/64357
1403         * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
1404         latches properly.
1406 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1408         * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
1409         Cortex-A17 tuning parameters.
1410         * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
1412 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1414         * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
1415         * config/arm/arm.c (arm_macro_fusion_p): New function.
1416         (arm_macro_fusion_pair_p): Likewise.
1417         (TARGET_SCHED_MACRO_FUSION_P): Define.
1418         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
1419         (ARM_FUSE_NOTHING): Likewise.
1420         (ARM_FUSE_MOVW_MOVT): Likewise.
1421         (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
1422         arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
1423         arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
1424         arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
1425         arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
1426         arm_cortex_a5_tune): Specify fuseable_ops value.
1428 2015-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1430         PR bootstrap/64561
1431         * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
1432         test for PIE with copy reloc.
1433         * configure: Regenerated.
1435 2015-01-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1437         * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
1438         in gen_rtx_REG.
1439         (arm_tls_descseq_addr): Likewise.
1440         (arm_gen_movmemqi): Likewise.
1441         (arm_expand_epilogue_apcs_frame): Likewise.
1442         (arm_expand_epilogue): Likewise.
1443         (arm_expand_prologue): Likewise.  Use R1_REGNUM instead of constant 1
1444         in gen_rtx_REG.
1446 2015-01-12  Martin Liska  <mliska@suse.cz>
1448         PR ipa/64550
1449         * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
1450         volatility for correct operands.
1452 2015-01-12  Martin Liska  <mliska@suse.cz>
1454         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
1455         that a function is not leaf.
1456         (sem_function::compare_polymorphic_p): Likewise.
1458 2015-01-12  Martin Liska  <mliska@suse.cz>
1460         * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as indication
1461         that a function is not leaf.
1462         (sem_function::compare_polymorphic_p): Likewise.
1464 2015-01-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1466         * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
1467         machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
1468         fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
1469         fold-const.h, tree-check.h.
1471 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
1473         PR ipa/63967
1474         PR ipa/64425
1475         * ipa-inline.c (compute_uninlined_call_time,
1476         compute_inlined_call_time): Use counts for extra precision when
1477         needed possible.
1478         (big_speedup_p): Fix formating.
1479         (RELATIVE_TIME_BENEFIT_RANGE): Remove.
1480         (relative_time_benefit): Remove.
1481         (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
1482         merge guessed and read profile paths.
1483         (inline_small_functions): Count only !optimize_size functions into
1484         initial size; be more lax about sanity check when profile is used;
1485         be sure to update inlined function profile when profile is read.
1487 2015-01-12  Jan Hubicka  <hubicka@ucw.cz>
1489         PR ipa/63470
1490         * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
1491         cost when edge becomes direct.
1492         * ipa-prop.c (make_edge_direct): Do not adjust when speculation
1493         is resolved or when introducing new speculation.
1495 2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
1497         PR ipa/64551
1498         PR ipa/64552
1499         * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
1500         '||' to fix typo issue.
1502         * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
1503         accept and return NULL.
1505 2015-01-12  Martin Liska  <mliska@suse.cz>
1507         * cgraph.c (cgraph_edge::remove_callee): Move function to header
1508         file for being inlined.
1509         (cgraph_set_edge_callee): Delete.
1510         (cgraph_edge::redirect_callee): Move function to header file
1511         for being inlined.
1512         (cgraph_edge::make_direct): Use new function.
1513         (cgraph_edge::dump_edge_flags): New function created from
1514         static dump_edge_flags function.
1515         (cgraph_node::dump): Use new function.
1516         (cgraph_edge::verify_count_and_frequency): New function created
1517         from verify_edge_count_and_frequency.
1518         (cgraph_edge::verify_corresponds_to_fndecl): New function created
1519         from verify_edge_corresponds_to_fndecl.
1520         (verify_edge_corresponds_to_fndecl): Delete.
1521         (cgraph_node::verify_node): Use new function.
1522         * cgraph.h (cgraph_edge::set_callee): New function.
1523         (cgraph_edge::dump_edge_flags): Likewise.
1524         (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
1526 2015-01-11  Jan Hubicka  <hubicka@ucw.cz>
1528         * ipa-utils.c (estimate_function_body_sizes): Do not
1529         free node params when called late with early=true.
1531 2015-01-11  James Greenhalgh  <james.greenhalgh@arm.com>
1533         * doc/md.texi (Instruction Patterns): Rewrite text for
1534         clarity.
1535         (Example): Likewise.
1537 2015-01-10  Sandra Loosemore  <sandra@codesourcery.com>
1539         * doc/invoke.texi (Option Summary): Break long lines.
1540         [(-fdiagnostics-color)]: Put long literal in @smallexample
1541         instead of inline.
1542         [(-fsanitize-recover)]: Likewise.
1543         [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
1544         [(-ffast-math)]: Likewise.
1545         [(--param max-inline-insns-recursive)]: Likewise.
1546         [(--param max-inline-recursive-depth)]: Likewise.
1547         [(-mno-text-section-literals)]: Likewise.
1548         
1549 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1551         * doc/install.texi: Update for libgomp being renamed from "GNU
1552         OpenMP Runtime Library" to "GNU Offloading and Multi Processing
1553         Runtime Library".
1554         * doc/sourcebuild.texi: Likewise.
1556 2015-01-10  Anthony Green  <green@moxielogic.com>
1558         * config/moxie/moxie.c (moxie_option_override): Fix forcing of
1559         mul.x availability for moxiebox configuration.
1561 2015-01-09  Anthony Green  <green@moxielogic.com>
1563         * config/moxie/moxie.md: Tabify assembly output.
1565 2015-01-09  Anthony Green  <green@moxielogic.com>
1567         * config/moxie/moxie.md (CC_REG): Correct register definition.
1569 2015-01-09  Sandra Loosemore  <sandra@codesourcery.com>
1571         * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
1572         ([-fvtv-debug], [-fvtv-counts]): Likewise.  Correct location
1573         of log files.
1575 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
1577         * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
1579 2015-01-09  Bernd Schmidt  <bernds@codesourcery.com>
1580             Jakub Jelinek  <jakub@redhat.com>
1582         PR middle-end/64412
1583         * lto-streamer.h (lto_stream_offload_p): New declaration.
1584         * lto-streamer.c (lto_stream_offload_p): New variable.
1585         * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
1586         at the same time as section_name_prefix.
1587         * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
1588         if lto_stream_offload_p.
1589         * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
1590         stream TREE_TARGET_OPTION if lto_stream_offload_p.
1591         (write_ts_function_decl_tree_pointers): Don't
1592         stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
1593         * tree-streamer-in.c (unpack_value_fields): Don't stream
1594         TREE_TARGET_OPTION in if ACCEL_COMPILER.
1595         (lto_input_ts_function_decl_tree_pointers): Don't stream
1596         DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
1597         * lto-opts.c (lto_write_options): Use lto_stream_offload_p
1598         instead of section_name_prefix string comparisons.
1600 2015-01-09  Jakub Jelinek  <jakub@redhat.com>
1602         PR rtl-optimization/64536
1603         * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
1604         tablejumps.
1606 2015-01-09  Michael Collison  <michael.collison@linaro.org>
1608         * genattrtab.c (write_header): Include hash-set.h, machmode.h,
1609         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1610         fold-const.h, wide-int.h, and inchash.h when generating
1611         insn-attrtab.c.
1612         * genautomata.c (main) : Include hash-set.h, macInclude hash-set.h, machmode.h,
1613         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1614         fold-const.h, wide-int.h, and inchash.h when generating
1615         insn-automata.c.
1616         * genemit.c (main): Include hash-set.h, machmode.h,
1617         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1618         fold-const.h, wide-int.h, and inchash.h when generating
1619         insn-emit.c.
1620         * gengtype.c (open_base_files): Include hash-set.h, machmode.h,
1621         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1622         fold-const.h, wide-int.h, and inchash.h when generating
1623         gtype-desc.c.
1624         * genopinit.c (main): Include hash-set.h, machmode.h,
1625         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1626         fold-const.h, wide-int.h, and inchash.h when generating
1627         insn-opinit.c.
1628         * genoutput.c (output_prologue): Include hash-set.h, machmode.h,
1629         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1630         fold-const.h, wide-int.h, and inchash.h when generating
1631         insn-output.c.
1632         * genpeep.c (main): Include hash-set.h, machmode.h,
1633         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1634         fold-const.h, wide-int.h, and inchash.h when generating
1635         insn-peep.c.
1636         * genpreds.c (write_insn_preds_c): Include hash-set.h, machmode.h,
1637         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1638         fold-const.h, wide-int.h, and inchash.h when generating
1639         insn-preds.c.
1640         * optc-save-gen-awk: Include hash-set.h, machmode.h,
1641         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1642         fold-const.h, wide-int.h, and inchash.h when generating
1643         options-save.c.
1644         * opth-gen.awk: Change include guard from GCC_C_COMMON_H to GCC_C_COMMON_C
1645         when generating options.h.
1646         * alias.c: Include hash-set.h, machmode.h,
1647         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1648         fold-const.h, wide-int.h, and inchash.h due to
1649         flattening of tree.h.
1650         * asan.c: Ditto.
1651         * attribs.c: Ditto.
1652         * auto-inc-dec.c: Ditto.
1653         * auto-profile.c: Ditto
1654         * bb-reorder.c: Ditto.
1655         * bt-load.c: Include symtab.h due to flattening of tree.h.
1656         * builtins.c: Include hash-set.h, machmode.h,
1657         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1658         fold-const.h, wide-int.h, and inchash.h due to
1659         flattening of tree.h.
1660         * calls.c: Include hash-set.h, machmode.h,
1661         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1662         fold-const.h, wide-int.h, and inchash.h due to
1663         flattening of tree.h.
1664         * ccmp.c: Ditto.
1665         * cfgbuild.c: Include hash-set.h, machmode.h,
1666         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1667         fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
1668         * cfg.c: Ditto.
1669         * cfgcleanup.c: Ditto.
1670         * cfgexpand.c: Ditto.
1671         * cfghooks.c: Ditto.
1672         * cfgloop.c: Include symtab.h, fold-const.h, and
1673         inchash.h due to flattening of tree.h.
1674         * cfgloopmanip.c: Ditto.
1675         * cfgrtl.c: Include hash-set.h, machmode.h,
1676         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1677         fold-const.h, wide-int.h, and inchash.h due to
1678         flattening of tree.h.
1679         * cgraphbuild.c: Ditto.
1680         * cgraph.c: Ditto.
1681         * cgraphclones.c: Ditto.
1682         * cgraphunit.c: Ditto.
1683         * cilk-common.c: Ditto.
1684         * combine.c: Ditto.
1685         * combine-stack-adj.c: Include symbol.h due to flattening of tree.h.
1686         * config/aarch64/aarch64-builtins.c: Include hash-set.h, machmode.h,
1687         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1688         fold-const.h, wide-int.h, and inchash.h due to
1689         flattening of tree.h.
1690         * config/aarch64/aarch64.c: Ditto.
1691         * config/alpha/alpha.c: Ditto.
1692         * config/arc/arc.c: Ditto.
1693         * config/arm/aarch-common.c: Ditto.
1694         * config/arm/arm-builtins.c: Ditto.
1695         * config/arm/arm.c: Ditto.
1696         * config/arm/arm-c.c: Ditto.
1697         * config/avr/avr.c: Ditto.
1698         * config/avr/avr-c.c: Ditto.
1699         * config/avr/avr-log.c: Ditto.
1700         * config/bfin/bfin.c: Ditto.
1701         * config/c6x/c6x.c: Ditto.
1702         * config/cr16/cr16.c: Ditto.
1703         * config/cris/cris.c: Ditto.
1704         * config/darwin.c: Ditto.
1705         * config/darwin-c.c: Ditto.
1706         * config/default-c.c: Ditto.
1707         * config/epiphany/epiphany.c: Ditto.
1708         * config/fr30/fr30.c: Ditto.
1709         * config/frv/frv.c: Ditto.
1710         * config/glibc-c.c: Ditto.
1711         * config/h8300/h8300.c: Ditto.
1712         * config/i386/i386.c: Ditto.
1713         * config/i386/i386-c.c: Ditto.
1714         * config/i386/msformat.c: Ditto.
1715         * config/i386/winnt.c: Ditto.
1716         * config/i386/winnt-cxx.c: Ditto.
1717         * config/i386/winnt-stubs.c: Ditto.
1718         * config/ia64/ia64.c: Ditto.
1719         * config/ia64/ia64-c.c: Ditto.
1720         * config/iq2000/iq2000.c: Ditto.
1721         * config/lm32/lm32.c: Include symtab.h, fold-const.h,
1722         wide-int.h, and inchash.h due to flattening of tree.h.
1723         * config/m32c/m32c.c: Include hash-set.h, machmode.h,
1724         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1725         fold-const.h, wide-int.h, and inchash.h due to
1726         flattening of tree.h.
1727         * config/m32c/m32c-pragma.c: Ditto.
1728         * config/m32c/m32cr.c: Ditto.
1729         * config/m68/m68k.c: Ditto.
1730         * config/mcore/mcore.c: Ditto.
1731         * config/mep/mep.c: Ditto.
1732         * config/mep/mep-pragma.c: Ditto.
1733         * config/microblaze/microblaze.c: Ditto.
1734         * config/microblaze/microblaze-c.c: Ditto.
1735         * config/mips/mips.c: Ditto.
1736         * config/mmix/mmix.c: Include symtab.h, fold-const.h,
1737         wide-int.h, and inchash.h due to flattening of tree.h.
1738         * config/mn10300/mn10300.c: Include hash-set.h, machmode.h,
1739         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1740         fold-const.h, wide-int.h, and inchash.h due to
1741         flattening of tree.h.
1742         * config/moxie/moxie.c: Ditto.
1743         * config/msp430/msp430.c: Ditto.
1744         * config/msp430/msp430-c.c: Ditto.
1745         * config/nds32/nds32.c: Ditto.
1746         * config/nds32/nds32-cost.c: Ditto.
1747         * config/nds32/nds32-fp-as-gp.c: Ditto.
1748         * config/nds32/nds32-intrinsic.c: Ditto.
1749         * config/nds32/nds32-isr.c: Ditto.
1750         * config/nds32/nds32-md-auxillary.c: Ditto.
1751         * config/nds32/nds32-memory-manipulationx.c: Ditto.
1752         * config/nds32/nds32-pipelines-auxillary.c: Ditto.
1753         * config/nds32/nds32-predicates.c: Ditto.
1754         * config/nios2/nios2.c: Ditto.
1755         * config/nvptx/nvptx.c: Ditto.
1756         * config/pa/pa.c: Ditto.
1757         * config/pdp11/pdp11x.c: Include symtab.h, fold-const.h,
1758         wide-int.h, and inchash.h due to flattening of tree.h.
1759         * config/rl78/rl78.c: Include hash-set.h, machmode.h,
1760         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1761         fold-const.h, wide-int.h, and inchash.h due to
1762         flattening of tree.h.
1763         * config/rl78/rl78-cx.c: Ditto.
1764         * config/rs6000/rs6000.c: Ditto.
1765         * config/rs6000/rs6000-c.c: Ditto.
1766         * config/rx/rx.c: Ditto.
1767         * config/s390/s390.c: Ditto.
1768         * config/sh/sh.c: Ditto.
1769         * config/sh/sc.c: Ditto.
1770         * config/sh/sh-mem.cc: Ditto.
1771         * config/sh/sh_treg_combine.cc: Include symtab.h, inchash.h and tree.h
1772         due to flattening of tree.h.
1773         Remove include of tree-core.h.
1774         * config/sol2.c: Include hash-set.h, machmode.h,
1775         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1776         fold-const.h, wide-int.h, and inchash.h due to
1777         flattening of tree.h.
1778         * config/sol2-c.c: Ditto.
1779         * config/sol2-cxx.c: Ditto.
1780         * config/sol2-stubs.c: Ditto.
1781         * config/sparc/sparc.c: Ditto.
1782         * config/sparc/sparc-cx.c: Ditto.
1783         * config/spu/spu.c: Ditto.
1784         * config/spu/spu-c.c: Ditto
1785         * config/storym16/stormy16.c: Ditto.
1786         * config/tilegx/tilegx.c: Include symtab.h, fold-const.h,
1787         wide-int.h, and inchash.h due to flattening of tree.h.
1788         * config/tilepro/gen-mul-tables.cc: Include symtab.h in generated file.
1789         * config/tilegx/tilegx-c.c: Include hash-set.h, machmode.h,
1790         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1791         fold-const.h, wide-int.h, and inchash.h due to
1792         flattening of tree.h.
1793         * config/tilepro/tilepro.c: Include symtab.h, fold-const.h,
1794         wide-int.h, and inchash.h due to flattening of tree.h.
1795         * config/tilepro/tilepro-c.c: Include hash-set.h, machmode.h,
1796         vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
1797         fold-const.h, wide-int.h, and inchash.h due to
1798         flattening of tree.h.
1799         * config/v850/v850.c: Ditto.
1800         * config/v850/v850-c.c: Ditto.
1801         * config/vax/vax.c: Ditto.
1802         * config/vms/vms.c: Ditto.
1803         * config/vms/vms-c.c: Ditto.
1804         * config/vxworks.c: Ditto.
1805         * config/winnt-c.c: Ditto.
1806         * config/xtensa/xtensa.c: Include symtab.h, fold-const.h,
1807         wide-int.h, and inchash.h due to flattening of tree.h.
1808         * convert.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1809         input.h, alias.h, symtab.h, options.h, fold-const.h,
1810         wide-int.h, and inchash.h due to flattening of tree.h.
1811         * coverage.c: Ditto.
1812         * cppbuiltin.c: Ditto.
1813         * cprop.c: Ditto.
1814         * cse.c: Add include of symtab.h due to flattening of tree.h.
1815         * cselib.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1816         input.h, alias.h, symtab.h, options.h, fold-const.h,
1817         wide-int.h, and inchash.h due to flattening of tree.h.
1818         * data-streamer.c: Ditto.
1819         * data-streamer-in.c: Ditto.
1820         * data-streamer-out.c: Ditto.
1821         * dbxout.c: Ditto.
1822         * dce.c: Ditto.
1823         * ddg.c: Add include of symtab.h due to flattening of tree.h.
1824         * debug.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1825         input.h, alias.h, symtab.h, options.h, fold-const.h,
1826         wide-int.h, and inchash.h due to flattening of tree.h.
1827         * dfp.c: Ditto.
1828         * df-scan.c: Ditto.
1829         * dojump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1830         input.h, alias.h, symtab.h, options.h, fold-const.h,
1831         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1832         * double-int.c: Ditto.
1833         * dse.c: Ditto.
1834         * dumpfile.c: Ditto.
1835         * dwarf2asm.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1836         input.h, alias.h, symtab.h, fold-const.h,
1837         wide-int.h, inchash.h and real.h due to flattening of tree.h.
1838         * dwarf2cfi.c: Ditto.
1839         * dwarf2out.c: Ditto.
1840         * emit-rtl.c: Ditto.
1841         * except.c: Ditto.
1842         * explow.c: Ditto.
1843         * expmed.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1844         input.h, alias.h, symtab.h, fold-const.h,
1845         wide-int.h, and inchash.h due to flattening of tree.h.
1846         * expr.c: Ditto.
1847         * final.c: Ditto.
1848         * fixed-value.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1849         input.h, alias.h, symtab.h, fold-const.h,
1850         wide-int.h, inchash.h and fixed-value.h due to flattening of tree.h.
1851         * fold-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1852         input.h, alias.h, symtab.h, fold-const.h,
1853         wide-int.h, and inchash.h due to flattening of tree.h.
1854         Relocate inline function convert_to_ptrofftype_loc from tree.h.
1855         Relocate inline function fold_build_pointer_plus_loc from tree.h.
1856         Relocate inline function fold_build_pointer_plus_hwi_loc from tree.h.
1857         * fold-const.h: Relocate macro convert_to_ptrofftype from tree.h.
1858         Relocate macro fold_build_pointer_plus to relocate from tree.h.h.
1859         Relocate macro fold_build_pointer_plus_hwi from tree.h.
1860         Add prototype for convert_to_ptrofftype_loc relocated from tree.h.
1861         Add prototype for fold_build_pointer_plus_loc relocated from tree.h.
1862         Add prototype for fold_build_pointer_plus_hwi_loc relocated from tree.h.
1863         * function.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1864         input.h, alias.h, symtab.h, fold-const.h,
1865         wide-int.h, and inchash.h due to flattening of tree.h.
1866         * gcc-plugin.h: Include statistics.h, double-int.h, real.h, fixed-value.h,
1867         alias.h, flags.h, and symtab.h due to flattening of tree.h
1868         * gcse.c: Ditto.
1869         * generic-match-head.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1870         input.h, alias.h, symtab.h, options.h, fold-const.h,
1871         wide-int.h, and inchash.h due to flattening of tree.h.
1872         * ggc-page.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1873         input.h, alias.h, symtab.h, fold-const.h,
1874         wide-int.h, and inchash.h due to flattening of tree.h.
1875         * gimple-builder.c: Ditto.
1876         * gimple.c: Ditto.
1877         * gimple-expr.c: Ditto.
1878         * gimple-fold.c: Ditto.
1879         * gimple-iterator.c: Ditto.
1880         * gimple-low.c: Ditto.
1881         * gimple-match-head.c: Ditto.
1882         * gimple-pretty-print.c: Ditto.
1883         * generic-ssa-isolate-paths.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1884         input.h, alias.h, symtab.h, options.h, fold-const.h,
1885         wide-int.h, and inchash.h due to flattening of tree.h.
1886         * gimple-ssa-strength-reduction.c: Ditto.
1887         * gimple-streamer-in.c: Ditto.
1888         * gimple-streamer-out.c: Ditto.
1889         * gimple-walk.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1890         input.h, alias.h, symtab.h, fold-const.h,
1891         wide-int.h, and inchash.h due to flattening of tree.h.
1892         * gimplify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1893         input.h, alias.h, symtab.h, options.h, fold-const.h,
1894         wide-int.h, and inchash.h due to flattening of tree.h.
1895         * gimplify-me.c: Ditto.
1896         * graphite-blocking.c: Ditto.
1897         * graphite.c: Ditto.
1898         * graphite-dependencies.c: Ditto.
1899         * graphite-interchange.c: Ditto.
1900         * graphite-isl-ast-to-gimple.c: Ditto.
1901         * graphite-optimize-isl.c: Ditto.
1902         * graphite-poly.c: Ditto.
1903         * graphite-scop-detection.c: Ditto.
1904         * graphite-sese-to-poly.c: Ditto.
1905         * hw-doloop.c: Include symtab.h due to flattening of tree.h.
1906         * ifcvt.c: Ditto.
1907         * init-regs.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1908         input.h, alias.h, symtab.h, fold-const.h,
1909         wide-int.h, and inchash.h due to flattening of tree.h.
1910         * internal-fc.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1911         input.h, alias.h, symtab.h,options.h, fold-const.h,
1912         wide-int.h, and inchash.h due to flattening of tree.h.
1913         * ipa.c: Ditto.
1914         * ipa-chkp.c: Ditto.
1915         * ipa-comdats.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1916         input.h, alias.h, symtab.h, fold-const.h,
1917         wide-int.h, and inchash.h due to flattening of tree.h.
1918         * ipa-cp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1919         input.h, alias.h, symtab.h,options.h, fold-const.h,
1920         wide-int.h, and inchash.h due to flattening of tree.h.
1921         * ipa-devirt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1922         input.h, alias.h, symtab.h, fold-const.h,
1923         wide-int.h, and inchash.h due to flattening of tree.h.
1924         * ipa-icf.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1925         input.h, alias.h, symtab.h,options.h, fold-const.h,
1926         wide-int.h, and inchash.h due to flattening of tree.h.
1927         * ipa-icf-gimple.c: Ditto.
1928         * ipa-inline-analysis.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1929         input.h, alias.h, symtab.h, fold-const.h,
1930         wide-int.h, and inchash.h due to flattening of tree.h.
1931         * ipa-inline.c: Ditto.
1932         * ipa-inline-transform.c: Ditto.
1933         * ipa-polymorhpic-call.c: Ditto.
1934         * ipa-profile.c: Ditto.
1935         * ipa-prop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1936         input.h, alias.h, symtab.h, options.h, fold-const.h,
1937         wide-int.h, and inchash.h due to flattening of tree.h.
1938         * ipa-pure-const.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1939         input.h, alias.h, symtab.h, fold-const.h,
1940         wide-int.h, and inchash.h due to flattening of tree.h.
1941         * ipa-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1942         input.h, alias.h, symtab.h, options.h, fold-const.h,
1943         wide-int.h, and inchash.h due to flattening of tree.h.
1944         * ipa-reference.c: Ditto.
1945         * ipa-split.c: Ditto.
1946         * ipa-utils.c: Ditto.
1947         * ipa-visbility.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1948         input.h, alias.h, symtab.h, fold-const.h,
1949         wide-int.h, and inchash.h due to flattening of tree.h.
1950         * ira.c: Ditto.
1951         * ira-color.c: Include hash-set.h due to flattening of tree.h.
1952         * ira-costs.c: Ditto.
1953         * ira-emit.c: Ditto.
1954         * jump.c: Include symtab.h due to flattening of tree.h.
1955         * langhooks.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1956         input.h, alias.h, symtab.h, fold-const.h,
1957         wide-int.h, and inchash.h due to flattening of tree.h.
1958         * loop-doloop.c: Include symtab.h due to flattening of tree.h.
1959         * loop-init.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1960         input.h, alias.h, symtab.h, fold-const.h,
1961         wide-int.h, and inchash.h due to flattening of tree.h.
1962         * loop-invariant.c: Include symtab.h due to flattening of tree.h.
1963         * loop-iv.c: Ditto.
1964         * loop-unroll.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1965         input.h, alias.h, symtab.h, fold-const.h,
1966         wide-int.h, and inchash.h due to flattening of tree.h.
1967         * lower-subreg.c: Ditto.
1968         * lra-assigns.c: Include symtab.h due to flattening of tree.h.
1969         * lra.c: Include symtab.h, fold-const.h, wide-int.h and inchash.h
1970         due to flattening of tree.h.
1971         * lra-coalesce.c: Include symtab.h due to flattening of tree.h.
1972         * lra-constraints.c: Ditto.
1973         * lra-eliminations.c: Ditto.
1974         * lra-livesc: Ditto.
1975         * lra-remat.c: Ditto.
1976         * lra-spills.c: Ditto.
1977         * lto-cgraph.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1978         input.h, alias.h, symtab.h, fold-const.h,
1979         wide-int.h, and inchash.h due to flattening of tree.h.
1980         * lto-compress.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1981         input.h, alias.h, symtab.h, options, fold-const.h,
1982         wide-int.h, and inchash.h due to flattening of tree.h.
1983         * lto-opts.c: Ditto.
1984         * lto-section-in.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1985         input.h, alias.h, symtab.h, fold-const.h,
1986         wide-int.h, and inchash.h due to flattening of tree.h.
1987         * lto-section-out.c: Ditto.
1988         * lto-streamer.c: Ditto.
1989         * lto-streamer-in.c: Ditto.
1990         * lto-streamer-out.c: Ditto.
1991         * modulo-sched.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1992         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1993         inchash.h due to flattening of tree.h.
1994         * omega.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1995         input.h, alias.h, symtab.h, options, fold-const.h,
1996         wide-int.h, and inchash.h due to flattening of tree.h.
1997         * omega-low.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
1998         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
1999         inchash.h due to flattening of tree.h.
2000         * optabs.c: Ditto.
2001         * opts-global.c: Ditto.
2002         * passes.c: Ditto.
2003         * plugin.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2004         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2005         inchash.h due to flattening of tree.h.
2006         * postreload.c: Include symtab.h due to flattening of tree.h.
2007         * postreload-gcse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2008         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2009         inchash.h due to flattening of tree.h.
2010         * predict.c: Ditto.
2011         * print-rtl.c: Ditto.
2012         * print-tree.c: Ditto.
2013         * profile.c: Include symtab.h, fold-const.h
2014         and inchash.h due to flattening of tree.h.
2015         * real.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2016         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2017         inchash.h due to flattening of tree.h.
2018         * realmpfr.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2019         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2020         inchash.h due to flattening of tree.h.
2021         * recog.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2022         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2023         inchash.h due to flattening of tree.h.
2024         * ree.c: Ditto.
2025         * reginfo.c: Ditto.
2026         * reg-stack.c: Ditto.
2027         * reload1.c: Include symtab.h, fold-const.h, wide-int.h
2028         and inchash.h due to flattening of tree.h.
2029         * reload.c: Include symtab.h due to flattening of tree.h.
2030         * reorg.c: Ditto.
2031         * rtlanal.c: Include symtab.h, fold-const.h, wide-int.h
2032         and inchash.h due to flattening of tree.h.
2033         * rtl-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2034         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2035         inchash.h due to flattening of tree.h.
2036         * rtlhooks.c: Include symtab.h due to flattening of tree.h.
2037         * sanopt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2038         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2039         inchash.h due to flattening of tree.h.
2040         * sched-deps.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2041         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2042         inchash.h due to flattening of tree.h.
2043         * sched-vis.c: Ditto.
2044         * sdbout.c: Ditto.
2045         * sel-sched.c: Include symtab.h, fold-const.h, wide-int.h
2046         and inchash.h due to flattening of tree.h.
2047         * sel-sched-ir.c: Ditto.
2048         * sese.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2049         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2050         inchash.h due to flattening of tree.h.
2051         * shrink-wrap.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2052         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2053         inchash.h due to flattening of tree.h.
2054         * simplify-rtx.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2055         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2056         inchash.h due to flattening of tree.h.
2057         * stack-ptr-mod.c: Ditto.
2058         * stmt.c: Ditto.
2059         * store-motion.c: Ditto.
2060         * store-layout.c: Ditto.
2061         * stringpool.c: Ditto.
2062         * symtab.c: Ditto.
2063         * target-globals.c: Ditto.
2064         * targhooks.c: Ditto.
2065         * toplev.c: Ditto.
2066         * tracer.c: Ditto.
2067         * trans-mem.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2068         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2069         inchash.h due to flattening of tree.h.
2070         * tree-affine.c: Ditto.
2071         * tree-browser.c: Ditto.
2072         * tree.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2073         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2074         inchash.h due to flattening of tree.h.
2075         * tree-call-cdce.c: Include symtab.h, alias.h, double-int.h,
2076         fold-const.h, wide-int.h, inchash.h and real.h due to
2077         flattening of tree.h.
2078         * tree-cfg.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2079         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2080         inchash.h due to flattening of tree.h.
2081         * tree-cfgcleanup.c: Ditto.
2082         * tree-chkp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2083         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2084         inchash.h due to flattening of tree.h.
2085         * tree-chkp-opt.c: Ditto.
2086         * tree-chrec.c: Ditto.
2087         * tree-chkp-opt.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2088         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
2089         real.h due to flattening of tree.h.
2090         * tree-core.h: Flatten header file by removing all #include statements.
2091         * tree-data-ref.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2092         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2093         inchash.h due to flattening of tree.h.
2094         * tree-dfa.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2095         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
2096         real.h due to flattening of tree.h.
2097         * tree-diagnostic.c: Ditto.
2098         * tree-dump.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2099         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
2100         fixed-value.h due to flattening of tree.h.
2101         * tree-dfa.c: Ditto.
2102         * tree-eh.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2103         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h and
2104         real.h due to flattening of tree.h.
2105         * tree-emutls.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2106         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2107         inchash.h due to flattening of tree.h.
2108         * tree.h: Flatten header files by removing all includes except tree-core.h.
2109         Remove inline function convert_to_ptrofftype_loc to relocate to fold-const.c.
2110         Remove macro convert_to_ptrofftype to relocate to fold-const.h.
2111         Remove inline function fold_build_pointer_plus_loc to relocate to fold-const.c.
2112         Remove macro fold_build_pointer_plus to relocate to fold-const.h.
2113         Remove inline function fold_build_pointer_plus_hwi_loc to relocate to fold-const.c.
2114         Remove macro fold_build_pointer_plus_hwi to relocate to fold-const.h.
2115         * tree-if-conv.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2116         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h, real.h and
2117         fixed-value.h due to flattening of tree.h.
2118         * tree-inline.c: Ditto.
2119         * tree-into-ssa.c: Ditto.
2120         * tree-iterator.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2121         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2122         inchash.h due to flattening of tree.h.
2123         * tree-loop-distribution.c: Ditto.
2124         * tree-nested.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2125         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2126         due to flattening of tree.h.
2127         * tree-nrv.c: Ditto.
2128         * tree-object-size.c: Ditto.
2129         * tree-outof-ssa.c: Ditto.
2130         * tree-parloops.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2131         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h, and
2132         inchash.h due to flattening of tree.h.
2133         * tree-phinodes.c: Ditto.
2134         * tree-predcom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2135         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2136         due to flattening of tree.h.
2137         * tree-pretty-print.c: Ditto.
2138         * tree-profile.c: double-int.h, input.h, alias.h, symtab.h,
2139         fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
2140         * tree-scalar-evolution.c: Include hash-set.h, machmode.h, vec.h,
2141         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
2142         wide-int.h and inchash.h due to flattening of tree.h.
2143         * tree-sra.c: Include  vec.h, double-int.h,
2144         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, and
2145         inchash.h due to flattening of tree.h.
2146         * tree-ssa-alias.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2147         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2148         due to flattening of tree.h.
2149         * tree-ssa.c: Ditto.
2150         * tree-ssa-ccp.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2151         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
2152         and real.h due to flattening of tree.h.
2153         * tree-ssa-coalesce.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2154         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2155         due to flattening of tree.h.
2156         * tree-ssa-copy.c: Ditto.
2157         * tree-ssa-copyrename.c: Ditto.
2158         * tree-ssa-dce.c: Ditto.
2159         * tree-ssa-dom.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2160         input.h, alias.h, symtab.h, fold-const.h, wide-int.h, inchash.h
2161         and real.h due to flattening of tree.h.
2162         * tree-ssa-dse.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2163         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2164         due to flattening of tree.h.
2165         * tree-ssa-forwprop.c: Ditto.
2166         * tree-ssa-ifcombine.c: Ditto.
2167         * tree-ssa-live.c: Ditto.
2168         * tree-ssa-loop.c: Ditto.
2169         * tree-ssa-loop-ch.c: Ditto.
2170         * tree-ssa-loop-im.c: Ditto.
2171         * tree-ssa-loop-ivcanon.c: Ditto.
2172         * tree-ssa-loop-ivopts.c: Ditto.
2173         * tree-ssa-loop-manip.c: Ditto.
2174         * tree-ssa-loop-niter.c: Ditto.
2175         * tree-ssa-loop-prefetch.c: Ditto.
2176         * tree-ssa-loop-unswitch.c: Ditto.
2177         * tree-ssa-loop-math-opts.c: Ditto.
2178         * tree-ssanames.c: Ditto.
2179         * tree-ssa-operands.c: Ditto.
2180         * tree-ssa-phiopt.c: Ditto.
2181         * tree-ssa-phiprop.c: Ditto.
2182         * tree-ssa-pre.c: Ditto.
2183         * tree-ssa-propagate.c: Ditto.
2184         * tree-ssa-reassoc.c: Ditto.
2185         * tree-ssa-sccvn.c: Ditto.
2186         * tree-ssa-sink.c: Ditto.
2187         * tree-ssa-strlen.c: Include hash-set.h, machmode.h, vec.h,
2188         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
2189         wide-int.h and inchash.h due to flattening of tree.h.
2190         * tree-ssa-structalias.c: double-int.h, input.h, alias.h, symtab.h,
2191         fold-const.h, wide-int.h and inchash.h due to flattening of tree.h.
2192         * tree-ssa-tail-merge.c: Include hash-set.h, machmode.h, vec.h,
2193         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2194         wide-int.h and inchash.h due to flattening of tree.h.
2195         * tree-ssa-ter.c: Ditto.
2196         * tree-ssa-threadedge.c: Ditto.
2197         * tree-ssa-threadupdate.c: Include hash-set.h, machmode.h, vec.h,
2198         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
2199         wide-int.h and inchash.h due to flattening of tree.h.
2200         * tree-ssa-uncprop.c: Include hash-set.h, machmode.h, vec.h,
2201         double-int.h, input.h, alias.h, symtab.h, fold-const.h,
2202         wide-int.h and inchash.h due to flattening of tree.h.
2203         * tree-ssa-uninit.c: Ditto.
2204         * tree-stdarg.c: Include vec.h, double-int.h, input.h, alias.h,
2205         symtab.h, fold-const.h, wide-int.h and inchash.h due to flattening
2206         of tree.h.
2207         * tree-streamer.c: Include vec.h, double-int.h, input.h, alias.h,
2208         symtab.h, options.h, fold-const.h, wide-int.h and
2209         inchash.h due to flattening of tree.h.
2210         * tree-streamer-in.c: Include hash-set.h, machmode.h, vec.h,
2211         double-int.h, input.h, alias.h, symtab.h, options.h, fold-const.h,
2212         wide-int.h, inchash.h, real.h and fixed-value.h due to flattening
2213         of tree.h.
2214         * tree-streamer-out.c: Dittoo.
2215         * tree-switch-conversion.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2216         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2217         due to flattening of tree.h.
2218         * tree-tailcall.c: Ditto.
2219         * tree-vect-data-refs.c: Ditto.
2220         * tree-vect-generic.c: Include hash-set.h, machmode.h, vec.h, double-int.h, input.h,
2221         alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
2222         due to flattening of tree.h.
2223         * tree-vect-loop.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2224         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2225         due to flattening of tree.h.
2226         * tree-vect-loop-manip.c: Ditto.
2227         * tree-vectorizer.c: Ditto.
2228         * tree-vect-patterns.c: Ditto.
2229         * tree-vect-slp.c: Ditto.
2230         * tree-vect-stmts.c: Ditto.
2231         * tree-vrp.c: Ditto.
2232         * tsan.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2233         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
2234         due to flattening of tree.h.
2235         * ubsan.c: Ditto.
2236         * value-prof.c.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2237         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2238         due to flattening of tree.h.
2239         * varasm.c: Ditto.
2240         * varpool.c: Ditto.
2241         * var-tracking.c: Ditto.
2242         * vmsdbgout.c: Ditto.
2243         * vtable-verify.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
2244         input.h, alias.h, symtab.h, options.h, fold-const.h, wide-int.h and inchash.h
2245         due to flattening of tree.h.
2246         * wide-int.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
2247         input.h, alias.h, symtab.h, fold-const.h, wide-int.h and inchash.h
2248         due to flattening of tree.h.
2249         * xcoffout.c: Ditto.
2251 2015-01-09  Tom de Vries  <tom@codesourcery.com>
2253         PR rtl-optimization/64539
2254         * regcprop.c (kill_clobbered_values): Factor out of ...
2255         (copyprop_hardreg_forward_1): ... here.  Use kill_clobbered_values
2256         instead of note_stores with kill_clobbered_value.
2258 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2260          * ginclude/unwind-arm-common.h: Revert previous commit.
2262 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
2264         * config.gcc (arm*-*-freebsd*): New configuration.
2265         * config/arm/freebsd.h: New file.
2266         * config.host: Add extra components for arm*-*-freebsd*.
2267         * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
2268         * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
2270 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2272         * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
2273         for -mcpu=e6500.
2274         * config/rs6000/t-rtems: Add e6500 multilibs.
2276 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2278         * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
2279         MPC8540.
2281 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2283         * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
2284         MULTILIB_EXCEPTIONS.
2286 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2288         * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
2289         MULTILIB_EXCEPTIONS.
2291 2015-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2293         * config/arm/t-rtems-eabi: Rename to...
2294         * config/arm/t-rtems: ...this.
2295         * config/arm/rtems-eabi.h: Rename to...
2296         * config/arm/rtems.h: ...this.
2297         * config.gcc (arm*-*-rtems*): Reflect changes above.
2299 2015-01-09  Richard Biener  <rguenther@suse.de>
2301         PR tree-optimization/64410
2302         * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
2303         on the LHS.
2304         (execute_update_addresses_taken): Deal with that.
2305         * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
2306         loads/stores for complex variables.
2308 2015-01-09  Martin Liska  <mliska@suse.cz>
2310         * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
2311         name comparison.
2312         (func_checker::compare_memory_operand): New function.
2313         (func_checker::compare_operand): Split case to newly
2314         added functions.
2315         (func_checker::compare_cst_or_decl): New function.
2316         (func_checker::compare_gimple_call): Identify
2317         memory operands.
2318         (func_checker::compare_gimple_assign): Likewise.
2319         * ipa-icf-gimple.h: New function.
2321 2015-01-09  Martin Liska  <mliska@suse.cz>
2323         PR ipa/64503
2324         * sreal.c (sreal::dump): Change unsigned format to signed for
2325         m_exp value.
2326         (sreal::to_double): Replace exp2 with scalbln.
2328 2015-01-09  Martin Liska  <mliska@suse.cz>
2330         * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
2331         * ipa-icf.c (sem_function::equals_private): Add support for target and
2332         (sem_item_optimizer::merge_classes): Remove redundant function
2333         optimization flags comparison.
2334         * tree.h (target_opts_for_fn): New function.
2336 2015-01-09  Tom de Vries  <tom@codesourcery.com>
2338         * omp-low.c (expand_omp_for_static_chunk): Fix assert.
2340 2015-01-09  Kito Cheng  <kito@0xlab.org>
2342         PR rtl-optimization/64348
2343         * lra-constraints.c (split_reg): Fix caller-save store/restore
2344         instruction generation.
2346 2015-01-08  John David Anglin  <danglin@gcc.gnu.org>
2348         PR gcov-profile/61790
2349         * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
2350         long long.  Fallback to int64_t if host doesn't have long long and
2351         use strtol if int64_t is long.  Otherwise, use sscanf for conversion.
2353 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
2355         PR tree-optimization/63989
2356         * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
2357         from 1000 to 10000.
2358         * tree-ssa-strlen.c (get_strinfo): Moved earlier.
2359         (get_stridx): If we don't have a record for certain SSA_NAME,
2360         but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
2361         constant offset, call get_stridx_plus_constant.
2362         (get_stridx_plus_constant): New function.
2363         (zero_length_string): Don't use get_stridx here.
2365         PR target/55023
2366         PR middle-end/64388
2367         * dse.c (struct insn_info): Mention frame_read set also
2368         before reload for tail calls on some targets.
2369         (scan_insn): Revert 2014-12-22 change.  Set frame_read
2370         also before reload for tail calls if
2371         HARD_FRAME_POINTER_IS_ARG_POINTER.  Call add_wild_read
2372         instead of add_non_frame_wild_read for non-const/memset
2373         tail calls after reload.
2375 2015-01-08  Jason Merrill  <jason@redhat.com>
2377         * ubsan.c (do_ubsan_in_current_function): New.
2378         (pass_ubsan::gate): Use it.
2379         * ubsan.h: Declare it.
2380         * convert.c (convert_to_integer): Use it.
2382 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
2384         PR target/64338
2385         * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
2386         compare_code when it is unconditionally overwritten afterwards.
2387         Use ix86_reverse_condition instead of reverse_condition.  Don't
2388         change code if *reverse_condition* returned UNKNOWN and don't
2389         swap ct/cf and negate diff in that case.
2391 2015-01-08  Mike Stump  <mikestump@comcast.net>
2393         * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
2394         (pass_tsan_O0::gate): Likewise.
2395         * extend.texi (Function Attributes): Add no_sanitize_thread
2396         documentation.
2398 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
2400         * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
2401         for registering builtins.
2402         * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
2403         add -fopenmp to the argv_obstack used when invoking
2404         compile_for_target.
2406         * config/i386/intelmic-mkoffload.c (compile_for_target): Always
2407         add "-m32" or "-m64" to argv_obstack.
2408         (generate_host_descr_file): Likewise, when invoking host_compiler.
2409         (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
2410         ld.
2412 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
2414         * config/sh/sh-mem.cc: Use constant as second operand when emitting
2415         tstsi_t insns.
2417 2015-01-08  Oleg Endo  <olegendo@gcc.gnu.org>
2419         PR target/55212
2420         * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
2421         constant load if constant operand fits into I08.
2423 2015-01-08  Jakub Jelinek  <jakub@redhat.com>
2425         PR sanitizer/64336
2426         * tree.c (build2_stat): Fix up initialization of TREE_READONLY
2427         and TREE_THIS_VOLATILE for MEM_REFs.
2428         (build5_stat): Fix up initialization of TREE_READONLY and
2429         TREE_THIS_VOLATILE for TARGET_MEM_REFs.
2431 2015-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
2433         PR target/64533
2434         * config/sh/sh.md (*addsi3_compact): Use u constraint instead
2435         of r for the second alternative of the destination operand.
2437 2015-01-07  Segher Boessenkool  <segher@kernel.crashing.org>
2439         PR target/36557
2440         * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
2442 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
2444         * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
2445         keywords.
2446         ([-fivar-visibility], [-fvisibility]): Likewise.
2448 2015-01-07  Sandra Loosemore  <sandra@codesourcery.com>
2450         * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
2451         the file where @code, @command, etc is more appropriate.
2453 2015-01-06  Sandra Loosemore  <sandra@codesourcery.com>
2455         * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
2456         of -mrecip= documentation.
2458 2015-01-06  Michael Meissner  <meissner@linux.vnet.ibm.com>
2460         PR target/64505
2461         * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
2462         correct reload handler if -m32 -mpowerpc64 is used.
2464 2015-01-06  Tom de Vries  <tom@codesourcery.com>
2466         * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
2468 2015-01-08  Christian Bruel  <christian.bruel@st.com>
2470         PR target/64507
2471         * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
2473 2015-01-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>
2475         PR tree-optimization/63259
2476         * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
2477         if optab exists for 16bit byteswap.
2479 2015-01-06  Jakub Jelinek  <jakub@redhat.com>
2481         * opts.c (common_handle_option): Add support for
2482         -fno-sanitize=all and -f{,no-}sanitize-recover=all.
2483         * doc/invoke.texi: Document -fno-sanitize=all,
2484         -f{,no-}sanitize-recover=all.  Document that
2485         -fsanitize=float-cast-overflow is not enabled
2486         by -fsanitize=undefined.  Fix up documentation
2487         of -f{,no-}sanitize-recover.
2489 2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>
2491         * config.gcc: Add Visium support.
2492         * configure.ac: Likewise.
2493         * configure: Regenerate.
2494         * doc/extend.texi (interrupt attribute): Add Visium.
2495         * doc/invoke.texi: Document Visium options.
2496         * doc/install.texi: Document Visium target.
2497         * doc/md.texi: Document Visium constraints.
2498         * common/config/visium: New directory.
2499         * config/visium: Likewise.
2501 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
2503         * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
2504         for the "(and X (ior (not X) Y) -> (and X Y)" transform.
2506 2015-01-05  Segher Boessenkool  <segher@kernel.crashing.org>
2508         * combine.c (combine_validate_cost): Do not count the cost of a
2509         split I2 twice.  Do not display it twice in the dump, either.
2511 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
2513         Revert parts of r219199.
2514         * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
2515         <inttypes.h>.
2516         ([-Wtraditional]): Restore markup on <limits.h>.
2518 2015-01-05  Trevor Saunders  <tsaunders@mozilla.com>
2520         PR c++/31397
2521         * doc/invoke.texi: Document -Wsuggest-override.
2523 2015-01-05  Radovan Obradovic  <radovan.obradovic@imgtec.com>
2525         PR rtl-optimization/64287
2526         * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
2527         (process_options): Disable flag_ipa_ra if profiling.
2529 2015-01-05  Eric Botcazou  <ebotcazou@adacore.com>
2531         * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
2533 2015-01-05  Max Filippov  <jcmvbkbc@gmail.com>
2535         * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
2536         hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
2537         put under #if TARGET_LOOPS guard.
2539 2015-01-05  Uros Bizjak  <ubizjak@gmail.com>
2541         * config/i386/i386.c (output_387_binary_op): Use std::swap.
2543 2015-01-05  Oleg Endo  <olegendo@gcc.gnu.org>
2545         * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
2546         * rtl.h (refers_to_regno_p): Add overload.
2547         * cse.c: Use it.
2548         * bt-load.c: Likewise.
2549         * combine.c: Likewise.
2550         * df-scan.c: Likewise.
2551         * sched-deps.c: Likewise.
2552         * config/s390/s390.c: Likewise.
2553         * config/m32r/m32r.c: Likewise.
2554         * config/rs6000/spe.md: Likewise.
2555         * config/rs6000/rs6000.c: Likewise.
2556         * config/pa/pa.c: Likewise.
2557         * config/stormy16/stormy16.c: Likewise.
2558         * config/cris/cris.c: Likewise.
2559         * config/arc/arc.md: Likewise.
2560         * config/arc/arc.c: Likewise.
2561         * config/sh/sh.md: Likewise.
2562         * config/sh/sh.c: Likewise.
2563         * config/frv/frv.c: Likewise.
2565 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2567         PR sanitizer/64265
2568         * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
2569         call as cleanup of the whole body.
2570         * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
2571         * tsan.c (replace_func_exit): New function.
2572         (instrument_func_exit): Moved earlier.
2573         (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
2574         Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
2575         been found.
2576         (tsan_pass): Don't call instrument_func_exit.
2577         * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
2578         * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
2579         inlining.
2581         PR sanitizer/64344
2582         * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
2583         * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
2584         it to libubsan handler instead of EXPR.  Fold comparisons earlier,
2585         if the result is integer_zerop, return NULL_TREE.
2586         * convert.c (convert_to_integer): Pass expr as ARG.
2588         PR tree-optimization/64465
2589         * tree-inline.c (redirect_all_calls): During inlining
2590         clean up EH stmts and EH edges if redirect_call_stmt_to_callee
2591         changed the stmt to a non-throwing call.
2593 2015-01-05  Sandra Loosemore  <sandra@codesourcery.com>
2595         * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
2596         etc markup throughout the file.
2598 2015-01-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2600         Enable experimental TSAN support for Ada.
2601         * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
2603 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2605         PR tree-optimization/64494
2606         * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
2607         clear SSA_NAME_ANTI_RANGE_P flag.
2609 2015-01-05  Marek Polacek  <polacek@redhat.com>
2611         * doc/extend.texi (Arrays of Length Zero): Add missing comma.
2613 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
2615         Update copyright years.
2617         * gcc.c (process_command): Update copyright notice dates.
2618         * gcov-dump.c: Ditto.
2619         * gcov.c: Ditto.
2620         * doc/cpp.texi: Bump @copying's copyright year.
2621         * doc/cppinternals.texi: Ditto.
2622         * doc/gcc.texi: Ditto.
2623         * doc/gccint.texi: Ditto.
2624         * doc/gcov.texi: Ditto.
2625         * doc/install.texi: Ditto.
2626         * doc/invoke.texi: Ditto.
2628         * auto-profile.c, auto-profile.h: Fix up Copyright line.
2630 2015-01-04  Sandra Loosemore  <sandra@codesourcery.com>
2632         * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
2633         verb tense, etc.
2634         ([-fvtable-verify], [-fvtv-debug]): Likewise.
2635         ([-Wabi]): Likewise.
2636         ([-fmessage-length]): Likewise.
2637         ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
2638         ([-Wno-discarded-qualifiers]): Likewise.
2639         ([-Wnodiscarded-array-qualifiers]): Likewise.
2640         ([-Wno-virtual-move-assign]): Likewise.
2641         ([-fsanitize=address], [-fsanitize=thread]): Likewise.
2642         ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
2643         ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
2644         ([-fsanitize-undefined-trap-on-error]): Likewise.
2645         ([-floop-interchange]): Likewise.
2646         ([-ftree-coalesce-inlined-vars]): Likewise.
2647         ([-fvect-cost-model]): Likewise.
2648         ([-flto]): Likewise.
2649         ([--param]): Likewise.
2650         (Spec Files): Likewise.
2651         ([-mstrict-align]): Likewise.
2652         ([-mfix-cortex-a53-835769]): Likewise.
2653         ([-march], [-mtune]): Likewise.
2654         ([-mpic-register]): Likewise.
2655         ([-munaligned-access]): Likewise.
2656         ([-msp8]): Likewise.
2657         (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
2658         (AVR Built-in Macros): Likewise.
2659         ([-mpreferred-stack-boundary]): Likewise.
2660         ([-mtune-crtl]): Likewise.
2661         ([-mashf]): Likewise.
2662         ([-mmcu=]): Likewise.
2663         ([-minrt]): Likewise.
2664         ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
2665         ([-mupper-regs]): Likewise.
2666         ([-matomic-model]): Likewise.
2667         ([-mdiv]): Likewise.
2668         ([-mzdcbranch]): Likewise.
2669         ([-mdisable-callt]): Likewise.
2670         ([-msoft-float]): Likewise.
2671         ([-m8byte-align]): Likewise.
2672         ([-fstack-reuse]): Likewise.
2674 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
2676         * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
2677         Fix markup, light copy-editing.
2678         ([-fauto-profile]): Rewrite to fix formatting and content
2679         problems.
2681 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
2683         * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
2684         Copy-edit description.
2685         ([-fisolate-erroneous-paths-attribute]): Likewise.
2686         * common.opt (fisolate-erroneous-paths-dereference):
2687         Copy-edit description.
2688         (fisolate-erroneous-paths-attribute): Likewise.
2690 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
2692         * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
2693         tidy grammar.
2695 2015-01-03  Sandra Loosemore  <sandra@codesourcery.com>
2697         * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
2698         ([-fvtv-debug]): Likewise.
2699         ([-Wc++-compat]): Likewise.
2700         ([-Wc++11-compat]): Likewise.
2701         ([-Wc++14-compat]): Likewise.
2702         ([-Wno-sized-deallocation]): Likewise.
2703         ([-femit-class-debug-always]): Likewise.
2704         ([-femit-struct-debug-detailed]): Likewise.
2705         ([-fno-keep-inline-dllexport]): Likewise.
2706         ([-fira-algorithm]): Likewise.
2707         ([-fira-region]): Likewise.
2708         ([-flra-remat]): Likewise.
2709         ([-fipa-ra]): Likewise.
2710         ([-fhoist-adjacent-loads]): Likewise.
2711         ([-fisolate-erroneous-paths-dereference]): Likewise.
2712         ([-fisolate-erroneous-paths-attribute]): Likewise.
2713         ([-ftree-switch-conversion]): Likewise.
2714         ([-ftree-tail-merge]): Likewise.
2715         ([-ftree-loop-if-convert]): Likewise.
2716         ([-ftree-loop-if-convert-stores]): Likewise.
2717         ([-ftree-loop-distribution]): Likewise.
2718         ([-ftree-loop-distribute-patterns]): Likewise.
2719         ([-flto-compression-level]): Likewise.
2720         ([-flto-report]): Likewise.
2721         ([-flto-report-wpa]): Likewise.
2722         ([-fuse-linker-plugin]): Likewise.
2723         ([-mfix-cortex-a53-835769]): Likewise.
2724         ([-mno-fix-cortex-a53-835769]): Likewise.
2725         ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
2726         explicit listing; add a note to the discussion indicating they
2727         exist.  Reorder table to group similar options.  Add missing
2728         @opindex entries.  Add @need commands throughout the table to
2729         allow it to be split across multiple pages.
2730         ([-m8bit-idiv]): Fix @opindex.
2731         ([-mavx256-split-unaligned-load]): Likewise.
2732         ([-mavx256-split-unaligned-store]): Likewise.
2733         ([-mstack-protector-guard]): Likewise.
2734         ([-mcpu=]): Likewise.
2735         ([-mcpu]): Likewise.
2736         ([-mpointer-size=]): Likewise.
2738 2015-01-03  John David Anglin  <danglin@gcc.gnu.org>
2740         * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
2741         instead of `m' constraint.  Likewise for unnamed movb comparison
2742         patterns using reg_before_reload_operand predicate.
2743         * config/pa/predicates.md (reg_before_reload_operand): Tighten
2744         predicate to reject register index and LO_SUM DLT memory forms
2745         after reload.
2747 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
2749         * doc/invoke.texi (Option Summary): Fix spelling of
2750         -fdevirtualize-at-ltrans.
2751         ([-fdevirtualize]): Fix markup.
2752         ([-fdevirtualize-speculatively]): Fix typo.
2753         ([-fdevirtualize-at-ltrans]): Likewise.  Make description less
2754         implementor-speaky.
2755         * common.opt (fdevirtualize-at-ltrans): Likewise.
2756         * ipa-devirt.c: Fix typos in comments throughout the file.
2757         (ipa_devirt): Fix typos in format strings for dump output.
2759 2015-01-02  Sandra Loosemore  <sandra@codesourcery.com>
2761         * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
2762         discussion of defaults, light copy-editing.
2764 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2766         * tsan.c (instrument_expr): corrected previous checkin.
2768 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
2770         Instrument bit field and unaligned accesses for TSAN.
2771         * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
2772         (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
2773         * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
2774         Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
2775         unaligned memory regions.
2777 2015-01-01  Anthony Green  <green@moxielogic.com>
2779         * config/moxie/predicates.md (moxie_general_movsrc_operand):
2780         Restrict move source register offsets to 16 bits.
2782 Copyright (C) 2015 Free Software Foundation, Inc.
2784 Copying and distribution of this file, with or without modification,
2785 are permitted in any medium without royalty provided the copyright
2786 notice and this notice are preserved.