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