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