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