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