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