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