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