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