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