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