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