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