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