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