1 2014-11-19 David Malcolm <dmalcolm@redhat.com>
3 * gimple.h (struct gimple_statement_structure): Remove stray
6 2014-11-19 David Malcolm <dmalcolm@redhat.com>
8 * gimple.c (gimple_build_assign_with_ops): Strengthen return type
9 of new overload, from gimple to gassign *.
11 2014-11-18 David Malcolm <dmalcolm@redhat.com>
13 * cgraphbuild.c (pass_build_cgraph_edges::execute): Fix linebreak
14 at assignment statement.
15 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
17 * gimple-ssa-strength-reduction.c (replace_one_candidate): Likewise.
18 * gimple-walk.c (walk_gimple_stmt): Likewise.
19 * gimple.c (gimple_build_return): Likewise.
20 (gimple_build_call_1): Likewise.
21 (gimple_build_call_internal_1): Likewise.
22 (gimple_build_label): Likewise.
23 (gimple_build_goto): Likewise.
24 (gimple_build_eh_filter): Likewise.
25 (gimple_build_eh_must_not_throw): Likewise.
26 (gimple_build_resx): Likewise.
27 (gimple_build_switch_nlabels): Likewise.
28 (gimple_build_eh_dispatch): Likewise.
29 (gimple_build_debug_bind_stat): Likewise.
30 (gimple_build_debug_source_bind_stat): Likewise.
31 (gimple_build_omp_critical): Likewise.
32 (gimple_build_omp_parallel): Likewise.
33 (gimple_build_omp_task): Likewise.
34 (gimple_build_omp_continue): Likewise.
35 (gimple_build_omp_sections): Likewise.
36 (gimple_build_omp_single): Likewise.
37 (gimple_build_omp_target): Likewise.
38 (gimple_build_omp_teams): Likewise.
39 (gimple_build_omp_atomic_load): Likewise.
40 (gimple_build_omp_atomic_store): Likewise.
41 (gimple_build_transaction): Likewise.
42 (gimple_copy): Likewise.
43 * gimple.h (gimple_call_fntype): Likewise.
44 (gimple_eh_filter_types): Likewise.
45 (gimple_eh_filter_types_ptr): Likewise.
46 (gimple_eh_filter_failure_ptr
47 (gimple_phi_capacity): Likewise.
48 (gimple_phi_num_args): Likewise.
49 (gimple_phi_result): Likewise.
50 (gimple_omp_for_clauses): Likewise.
51 (gimple_omp_for_clauses_ptr): Likewise.
52 (gimple_omp_for_set_clauses): Likewise.
53 (gimple_omp_for_collapse): Likewise.
54 (gimple_omp_for_index): Likewise.
55 (gimple_omp_for_index_ptr): Likewise.
56 (gimple_omp_for_set_index): Likewise.
57 (gimple_omp_for_initial): Likewise.
58 (gimple_omp_for_initial_ptr): Likewise.
59 (gimple_omp_for_set_initial): Likewise.
60 (gimple_omp_for_final): Likewise.
61 (gimple_omp_for_final_ptr): Likewise.
62 (gimple_omp_for_set_final): Likewise.
63 (gimple_omp_for_incr): Likewise.
64 (gimple_omp_for_incr_ptr): Likewise.
65 (gimple_omp_for_set_incr): Likewise.
66 (gimple_omp_for_pre_body_ptr): Likewise.
67 (gimple_omp_for_set_pre_body): Likewise.
68 (gimple_omp_parallel_clauses): Likewise.
69 (gimple_omp_task_clauses): Likewise.
70 (gimple_omp_task_clauses_ptr): Likewise.
71 (gimple_omp_task_set_clauses): Likewise.
72 (gimple_omp_task_child_fn): Likewise.
73 (gimple_omp_task_child_fn_ptr): Likewise.
74 (gimple_omp_task_set_child_fn): Likewise.
75 (gimple_omp_task_data_arg): Likewise.
76 (gimple_omp_task_data_arg_ptr): Likewise.
77 (gimple_omp_task_set_data_arg): Likewise.
78 (gimple_omp_taskreg_clauses): Likewise.
79 (gimple_omp_taskreg_clauses_ptr): Likewise.
80 (gimple_omp_taskreg_set_clauses): Likewise.
81 (gimple_omp_taskreg_child_fn): Likewise.
82 (gimple_omp_taskreg_child_fn_ptr): Likewise.
83 (gimple_omp_taskreg_set_child_fn): Likewise.
84 (gimple_omp_taskreg_data_arg): Likewise.
85 (gimple_omp_taskreg_data_arg_ptr): Likewise.
86 (gimple_omp_taskreg_set_data_arg): Likewise.
87 (gimple_omp_task_copy_fn): Likewise.
88 (gimple_omp_task_copy_fn_ptr): Likewise.
89 (gimple_omp_task_set_copy_fn): Likewise.
90 (gimple_omp_task_arg_size): Likewise.
91 (gimple_omp_task_arg_size_ptr): Likewise.
92 (gimple_omp_task_set_arg_size): Likewise.
93 (gimple_omp_task_arg_align): Likewise.
94 (gimple_omp_task_arg_align_ptr): Likewise.
95 (gimple_omp_task_set_arg_align): Likewise.
96 (gimple_omp_single_clauses): Likewise.
97 (gimple_omp_single_clauses_ptr): Likewise.
98 (gimple_omp_target_clauses): Likewise.
99 (gimple_omp_target_clauses_ptr): Likewise.
100 (gimple_omp_teams_clauses): Likewise.
101 (gimple_omp_teams_clauses_ptr): Likewise.
102 (gimple_omp_sections_clauses): Likewise.
103 (gimple_omp_sections_clauses_ptr): Likewise.
104 (gimple_omp_sections_set_clauses): Likewise.
105 (gimple_omp_sections_control): Likewise.
106 (gimple_omp_sections_control_ptr): Likewise.
107 (gimple_omp_sections_set_control): Likewise.
108 (gimple_omp_for_set_cond): Likewise.
109 (gimple_omp_for_cond): Likewise.
110 * graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Likewise.
111 (detect_commutative_reduction_assign): Likewise.
112 * ipa-split.c (verify_non_ssa_vars): Likewise.
113 (split_function): Likewise.
114 * omp-low.c (check_omp_nesting_restrictions): Likewise.
115 (remove_exit_barrier): Likewise.
116 (expand_omp_for_generic): Likewise.
117 (expand_omp_for_static_nochunk): Likewise.
118 (expand_omp_for_static_chunk): Likewise.
120 (lower_omp_for): Likewise.
121 (lower_omp_taskreg): Likewise.
122 * predict.c (tree_estimate_probability_bb): Likewise.
123 * trans-mem.c (propagate_tm_flags_out): Likewise.
124 (execute_tm_mark): Likewise.
125 * tree-cfg.c (make_edges): Likewise.
126 * tree-inline.c (remap_gimple_stmt): Likewise.
127 (estimate_num_insns): Likewise.
128 * tree-sra.c (init_subtree_with_zero): Likewise.
129 (sra_modify_expr): Likewise.
130 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
131 * tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
132 * tree-ssa-math-opts.c (build_and_insert_cast): Likewise.
133 (pass_cse_sincos::execute): Likewise.
134 * tree-ssa-pre.c (do_regular_insertion): Likewise.
135 (eliminate_insert): Likewise.
136 * tree-ssa-reassoc.c (update_ops): Likewise.
137 * tree-ssa-tail-merge.c (same_succ_hash): Likewise.
138 * tree-tailcall.c (static): Likewise.
139 * tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
141 2014-11-14 David Malcolm <dmalcolm@redhat.com>
143 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee):
144 Strengthen locals "dbndret" and "ibndret" from gimple to gcall *.
145 * gimple-iterator.c (gsi_for_phi): New function.
146 * gimple-iterator.h (gsi_for_phi): New prototype.
147 * internal-fn.c (expand_ADD_OVERFLOW): Strengthen param "stmt"
148 from gimple to gcall *.
149 (expand_SUB_OVERFLOW): Likewise.
150 (expand_MUL_OVERFLOW): Likewise.
151 * ipa-icf-gimple.c (func_checker::compare_bb): Add checked casts
152 within case GIMPLE_CALL.
153 (func_checker::compare_gimple_call): Strengthen params from gimple
155 * ipa-icf-gimple.h (func_checker::compare_gimple_call): Likewise.
156 * sanopt.c (sanopt_optimize_walker): Replace check for GIMPLE_ASM
157 with a dyn_cast, introducing local "asm_stmt" and using it in
158 place of "stmt" for typesafety.
159 * tree-chkp.c (chkp_recompute_phi_bounds): Strengthen locals
160 "bounds_phi" and "ptr_phi" from gimple to gphi *.
161 (chkp_add_bounds_to_ret_stmt): Strengthen local "ret" from gimple
163 (chkp_add_bounds_to_call_stmt): Strengthen locals "call" and
164 "new_call" from gimple to gcall *.
165 (chkp_build_returned_bound): Likewise for param "call".
166 (chkp_retbnd_call_by_val): Likewise for return type.
167 (chkp_get_bounds_by_definition): Strengthen param "iter" from
168 gimple_stmt_iterator * to gphi_iterator *. Add a checked cast
169 within case GIMPLE_CALL. Use gsi_for_phi rather than
171 (chkp_find_bounds_1): Strengthen local "phi_iter" from
172 gimple_stmt_iterator to gphi_iterator. Replace check for
173 GIMPLE_PHI with a dyn_cast, introducing local "def_phi" and using
174 in place of "def_stmt" for typesafety.
175 (chkp_copy_bounds_for_assign): Add checked cast.
176 (chkp_instrument_function): Within case GIMPLE_RETURN, add local
177 greturn * "r" from a checked cast and use in place of "s" for
179 * tree-chkp.h (chkp_retbnd_call_by_val): Strengthen return type
180 from gimple to gcall *.
181 * tree-inline.c (copy_bb): Update for renaming of field
182 "gimple_call" to "call_stmt" on the gimple-classes branch.
183 (expand_call_inline): Strengthen local "retbnc" from gimple to
185 * tree-ssa-forwprop.c (pass_forwprop::execute): Replace check for
186 GIMPLE_COND with a dyn_cast, introducing local "cond" and using
187 in place of "stmt" for typesafety.
188 * value-prof.c (gimple_ic): Strengthen local "iretbnd_stmt" from
189 gimple to gcall *. Weaken top-level local "psi" from
190 gphi_iterator back to gimple_stmt_iterator, reintroducing the
191 name as a phi_iterator within the for loop that needs it.
193 2014-10-28 David Malcolm <dmalcolm@redhat.com>
195 * auto-profile.c (autofdo::function_instance::find_icall_target_map):
196 Strengthen param "stmt" from gimple to gcall *.
197 (autofdo::autofdo_source_profile::update_inlined_ind_target):
199 (autofdo::afdo_indirect_call): Rename local gimple "stmt" to "gs",
200 reintroducing "stmt" as a gcall * via a dyn_cast once we've
201 established that we have a GIMPLE_CALL.
202 (autofdo::afdo_set_bb_count): Use a gphi_iterator for the phi
203 iteration, renaming it from "gsi" to "gpi", strengthening
204 local "phi" from gimple to gphi *.
205 (autofdo::afdo_propagate_circuit): Rename local gimple "phi_stmt"
206 to "def_stmt". Reintroduce "phi_stmt" as a gphi * via a dyn_cast
207 once we know we have a GIMPLE_PHI.
208 (autofdo::afdo_vpt_for_early_inline): Strengthen local "stmt" from
209 gimple to gcall *, using a dyn_cast.
210 * gimple-fold.c (replace_stmt_with_simplification): Replace check
211 against GIMPLE_COND with a dyn_cast <gcond *>, introducing local
212 "cond_stmt". Use "cond_stmt" in place of "stmt" for typesafety.
213 * gimple-iterator.h (gsi_next_nonvirtual_phi): Strengthen param
214 from gimple_stmt_iterator * to gphi_iterator *, and local "phi"
215 from gimple to gphi *.
216 * ipa-icf-gimple.c (ipa_icf_gimple::func_checker::parse_labels):
217 Replace check against GIMPLE_LABEL with a dyn_cast <glabel *>,
218 introducing local "label_stmt". Use it in place of "stmt" for
220 (ipa_icf_gimple::func_checker::compare_bb): Add checked casts
221 to appropriate gimple subclasses when invoking comparison methods
222 within the cases for GIMPLE_SWITCH, GIMPLE_RESX, GIMPLE_LABEL,
223 GIMPLE_RETURN, GIMPLE_ASM.
224 (ipa_icf_gimple::func_checker::compare_gimple_label): Strengthen
225 both params from gimple to const glabel *.
226 (ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
227 both params from gimple to const gswitch *.
228 (ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
229 both params from gimple to const greturn *.
230 (ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
231 both params from gimple to const gresx *.
232 (ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
233 both params from gimple to const gasm *.
234 * ipa-icf-gimple.h (ipa_icf_gimple::func_checker::compare_gimple_label):
235 Strengthen both params from gimple to const glabel *.
236 (ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
237 both params from gimple to const gswitch *.
238 (ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
239 both params from gimple to const greturn *.
240 (ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
241 both params from gimple to const gresx *.
242 (ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
243 both params from gimple to const gasm *.
244 * ipa-icf.c (ipa_icf_gimple::sem_function::compare_phi_node):
245 Strengthen locals "si1" and "si2" from gimple_stmt_iterator to
246 gphi_iterator, and locals "phi1" and "phi2" from gimple to gphi *.
247 * tree-ssa-forwprop.c (fold_all_stmts): Replace check against
248 GIMPLE_COND with a dyn_cast <gcond *>, introducing local
249 "cond_stmt". Use "cond_stmt" in place of "stmt" for typesafety.
250 * tree-ssa-reassoc.c (branch_fixup): Strengthen local "phi" from
253 2014-10-27 David Malcolm <dmalcolm@redhat.com>
255 * doc/gimple.texi (Class hierarchy of GIMPLE statements): Update
256 to reflect the new gimple subclasses and the renamings of existing
259 2014-10-27 David Malcolm <dmalcolm@redhat.com>
261 * gimple.h (struct gdebug): Remove out-of-date references to
263 (struct ggoto): Likewise.
264 (struct glabel): Likewise.
266 2014-10-27 David Malcolm <dmalcolm@redhat.com>
268 Patch autogenerated by rename_gimple_subclasses.py from
269 https://github.com/davidmalcolm/gcc-refactoring-scripts
270 revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f
272 * asan.c (get_mem_ref_of_assignment): Rename gimple subclass types.
273 (instrument_strlen_call): Likewise.
274 (instrument_builtin_call): Likewise.
275 (has_mem_ref_been_instrumented): Likewise.
276 (has_stmt_been_instrumented_p): Likewise.
277 (create_cond_insert_point): Likewise.
278 (asan_expand_check_ifn): Likewise.
279 * builtins.c (validate_arg): Likewise.
280 (do_mpc_arg2): Likewise.
281 * builtins.h (validate_gimple_arglist): Likewise.
282 (fold_call_stmt): Likewise.
283 * cfgexpand.c (mark_transaction_restart_calls): Likewise.
284 (expand_gimple_stmt): Likewise.
285 (expand_asm_operands): Likewise.
286 (label_rtx_for_bb): Likewise.
287 (expand_gimple_stmt_1): Likewise.
288 (maybe_cleanup_end_of_block): Likewise.
289 (expand_gimple_basic_block): Likewise.
290 * cfgloop.c (find_subloop_latch_edge_by_ivs): Likewise.
291 * cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
292 (create_empty_loop_on_edge): Likewise.
293 * cgraph.c (cgraph_add_edge_to_call_site_hash): Likewise.
294 (cgraph_allocate_init_indirect_info): Likewise.
295 (cgraph_set_edge_callee): Likewise.
296 (cgraph_update_edges_for_call_stmt_node): Likewise.
297 * cgraph.h (set_call_stmt_including_clones): Likewise.
298 (create_indirect_edge): Likewise.
299 (create_edge_including_clones): Likewise.
300 (set_call_stmt): Likewise.
301 (redirect_call_stmt_to_callee): Likewise.
302 (rebuild_references): Likewise.
303 (create_edge): Likewise.
304 * cgraphbuild.c (mark_store): Likewise.
305 (record_references_in_initializer): Likewise.
306 * cgraphclones.c (function): Likewise.
307 (clone_function_name): Likewise.
308 * cgraphunit.c (thunk_adjust): Likewise.
309 * coretypes.h: Likewise.
310 * expr.h (expand_normal): Likewise.
311 * gimple-builder.c (get_expr_type): Likewise.
312 (build_assign): Likewise.
313 (build_type_cast): Likewise.
314 * gimple-builder.h (build_assign): Likewise.
315 (build_type_cast): Likewise.
316 * gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise.
317 (gimple_fold_builtin_sprintf_chk): Likewise.
318 (gimple_fold_builtin_snprintf): Likewise.
319 (gimple_fold_builtin): Likewise.
320 (gimple_fold_call): Likewise.
321 (gimple_fold_stmt_to_constant_1): Likewise.
322 (fold_gimple_assign): Likewise.
323 (fold_stmt_1): Likewise.
324 * gimple-iterator.c (gsi_commit_one_edge_insert): Likewise.
325 (gsi_start_phis): Likewise.
326 * gimple-iterator.h (gsi_commit_one_edge_insert): Likewise.
327 (gimple_phi_iterator::phi): Likewise.
328 * gimple-low.c (lower_try_catch): Likewise.
329 (gimple_try_catch_may_fallthru): Likewise.
330 (lower_gimple_bind): Likewise.
331 (gimple_stmt_may_fallthru): Likewise.
332 (struct return_statements_t): Likewise.
333 (lower_gimple_return): Likewise.
334 (lower_stmt): Likewise.
335 * gimple-pretty-print.c (dump_gimple_omp_target): Likewise.
336 (dump_gimple_omp_single): Likewise.
337 (dump_gimple_omp_continue): Likewise.
338 (dump_gimple_omp_teams): Likewise.
339 (dump_gimple_omp_parallel): Likewise.
340 (dump_gimple_phi): Likewise.
341 (dump_gimple_debug): Likewise.
342 (dump_gimple_omp_block): Likewise.
343 (dump_gimple_omp_for): Likewise.
344 (dump_gimple_omp_atomic_load): Likewise.
345 (dump_gimple_omp_task): Likewise.
346 (dump_gimple_bind): Likewise.
347 (dump_ssaname_info): Likewise.
348 (dump_phi_nodes): Likewise.
349 (gimple_dump_bb_for_graph): Likewise.
350 (dump_gimple_resx): Likewise.
351 (dump_gimple_eh_else): Likewise.
352 (dump_gimple_eh_must_not_throw): Likewise.
353 (dump_gimple_eh_filter): Likewise.
354 (dump_gimple_catch): Likewise.
355 (dump_gimple_try): Likewise.
356 (dump_gimple_goto): Likewise.
357 (dump_gimple_assign): Likewise.
358 (dump_gimple_omp_return): Likewise.
359 (dump_gimple_return): Likewise.
360 (pp_points_to_solution): Likewise.
361 (dump_gimple_transaction): Likewise.
362 (dump_gimple_fmt): Likewise.
363 (dump_unary_rhs): Likewise.
364 (dump_binary_rhs): Likewise.
365 (dump_ternary_rhs): Likewise.
366 (dump_gimple_call): Likewise.
367 (dump_gimple_cond): Likewise.
368 (pp_cfg_jump): Likewise.
369 (dump_gimple_label): Likewise.
370 (dump_gimple_eh_dispatch): Likewise.
371 (dump_gimple_switch): Likewise.
372 (pp_gimple_stmt_1): Likewise.
373 * gimple-ssa-isolate-paths.c (isolate_path): Likewise.
374 (find_implicit_erroneous_behaviour): Likewise.
375 (find_explicit_erroneous_behaviour): Likewise.
376 (insert_trap_and_remove_trailing_statements): Likewise.
377 * gimple-ssa-strength-reduction.c (slsr_process_copy): Likewise.
378 (add_cand_for_stmt): Likewise.
379 (create_phi_basis): Likewise.
380 (ncd_for_two_cands): Likewise.
381 (ncd_with_phi): Likewise.
382 (ncd_of_cand_and_phis): Likewise.
383 (replace_mult_candidate): Likewise.
384 (create_add_on_incoming_edge): Likewise.
385 (insert_initializers): Likewise.
386 (introduce_cast_before_cand): Likewise.
387 (replace_one_candidate): Likewise.
388 * gimple-streamer-in.c (input_phi): Likewise.
389 (input_gimple_stmt): Likewise.
390 * gimple-streamer-out.c (output_phi): Likewise.
391 (output_bb): Likewise.
392 (output_gimple_stmt): Likewise.
393 * gimple-walk.c (walk_gimple_stmt): Likewise.
394 (walk_gimple_seq): Likewise.
395 (walk_gimple_op): Likewise.
396 (walk_stmt_load_store_addr_ops): Likewise.
397 * gimple.c (gimple_build_omp_target): Likewise.
398 (gimple_build_omp_sections_switch): Likewise.
399 (gimple_build_omp_single): Likewise.
400 (gimple_build_omp_return): Likewise.
401 (gimple_build_omp_sections): Likewise.
402 (gimple_build_omp_task): Likewise.
403 (gimple_build_omp_parallel): Likewise.
404 (gimple_build_omp_for): Likewise.
405 (gimple_build_omp_critical): Likewise.
406 (gimple_build_omp_taskgroup): Likewise.
407 (gimple_build_omp_continue): Likewise.
408 (gimple_build_omp_teams): Likewise.
409 (gimple_build_omp_atomic_load): Likewise.
410 (gimple_build_try): Likewise.
411 (gimple_build_wce): Likewise.
412 (gimple_build_eh_else): Likewise.
413 (gimple_build_eh_must_not_throw): Likewise.
414 (gimple_build_eh_filter): Likewise.
415 (gimple_build_catch): Likewise.
416 (gimple_build_nop): Likewise.
417 (empty_stmt_p): Likewise.
418 (gimple_build_with_ops_stat): Likewise.
419 (infer_nonnull_range): Likewise.
420 (gimple_build_omp_atomic_store): Likewise.
421 (gimple_build_transaction): Likewise.
422 (gimple_copy): Likewise.
423 (gimple_call_flags): Likewise.
424 (gimple_call_fnspec): Likewise.
425 (gimple_call_arg_flags): Likewise.
426 (gimple_build_return): Likewise.
427 (gimple_call_reset_alias_info): Likewise.
428 (gimple_build_call_1): Likewise.
429 (gimple_build_call_vec): Likewise.
430 (gimple_build_call): Likewise.
431 (gimple_build_call_valist): Likewise.
432 (gimple_build_call_internal_1): Likewise.
433 (gimple_build_call_internal): Likewise.
434 (gimple_build_call_internal_vec): Likewise.
435 (canonicalize_cond_expr_cond): Likewise.
436 (gimple_call_copy_skip_args): Likewise.
437 (gimple_has_side_effects): Likewise.
438 (gimple_call_builtin_p): Likewise.
439 (gimple_build_bind): Likewise.
440 (gimple_build_asm_vec): Likewise.
441 (gimple_could_trap_p_1): Likewise.
442 (gimple_build_asm_1): Likewise.
443 (gimple_build_call_from_tree): Likewise.
444 (gimple_build_assign_stat): Likewise.
445 (gimple_build_resx): Likewise.
446 (gimple_build_switch_nlabels): Likewise.
447 (gimple_build_switch): Likewise.
448 (gimple_cond_set_condition_from_tree): Likewise.
449 (gimple_set_bb): Likewise.
450 (gimple_build_label): Likewise.
451 (gimple_build_goto): Likewise.
452 (gimple_build_eh_dispatch): Likewise.
453 (gimple_build_debug_bind_stat): Likewise.
454 (gimple_build_debug_source_bind_stat): Likewise.
455 (gimple_build_assign_with_ops): Likewise.
456 (gimple_build_cond): Likewise.
457 (gimple_build_cond_from_tree): Likewise.
458 * gimple.h (gimple_build_omp_target): Likewise.
459 (gimple_omp_teams_clauses): Likewise.
460 (gimple_omp_teams_clauses_ptr): Likewise.
461 (gimple_omp_target_set_kind): Likewise.
462 (gimple_omp_target_set_child_fn): Likewise.
463 (gimple_build_omp_single): Likewise.
464 (gimple_omp_target_kind): Likewise.
465 (gimple_omp_target_child_fn): Likewise.
466 (gimple_omp_target_child_fn_ptr): Likewise.
467 (gimple_omp_target_data_arg): Likewise.
468 (gimple_omp_target_data_arg_ptr): Likewise.
469 (gimple_omp_target_clauses): Likewise.
470 (gimple_omp_target_clauses_ptr): Likewise.
471 (gimple_build_omp_sections_switch): Likewise.
472 (gimple_omp_single_clauses): Likewise.
473 (gimple_omp_single_clauses_ptr): Likewise.
474 (gimple_build_omp_return): Likewise.
475 (gimple_omp_sections_clauses): Likewise.
476 (gimple_omp_sections_clauses_ptr): Likewise.
477 (gimple_omp_sections_set_clauses): Likewise.
478 (gimple_omp_sections_control): Likewise.
479 (gimple_omp_sections_control_ptr): Likewise.
480 (gimple_omp_sections_set_control): Likewise.
481 (gimple_build_omp_parallel): Likewise.
482 (gimple_omp_task_clauses): Likewise.
483 (gimple_omp_task_clauses_ptr): Likewise.
484 (gimple_omp_task_set_clauses): Likewise.
485 (gimple_omp_task_child_fn): Likewise.
486 (gimple_omp_task_child_fn_ptr): Likewise.
487 (gimple_omp_task_set_child_fn): Likewise.
488 (gimple_omp_task_data_arg): Likewise.
489 (gimple_omp_task_data_arg_ptr): Likewise.
490 (gimple_omp_task_set_data_arg): Likewise.
491 (gimple_omp_task_copy_fn): Likewise.
492 (gimple_omp_task_copy_fn_ptr): Likewise.
493 (gimple_omp_task_set_copy_fn): Likewise.
494 (gimple_omp_task_arg_size): Likewise.
495 (gimple_omp_task_arg_size_ptr): Likewise.
496 (gimple_omp_task_set_arg_size): Likewise.
497 (gimple_omp_task_arg_align): Likewise.
498 (gimple_omp_task_arg_align_ptr): Likewise.
499 (gimple_omp_task_set_arg_align): Likewise.
500 (gimple_omp_parallel_set_clauses): Likewise.
501 (gimple_omp_parallel_set_child_fn): Likewise.
502 (gimple_build_omp_for): Likewise.
503 (gimple_omp_parallel_clauses_ptr): Likewise.
504 (gimple_omp_parallel_child_fn): Likewise.
505 (gimple_omp_parallel_child_fn_ptr): Likewise.
506 (gimple_omp_parallel_data_arg): Likewise.
507 (gimple_omp_parallel_data_arg_ptr): Likewise.
508 (gimple_omp_parallel_clauses): Likewise.
509 (gimple_build_omp_critical): Likewise.
510 (gimple_omp_for_kind): Likewise.
511 (gimple_omp_for_combined_p): Likewise.
512 (gimple_omp_for_combined_into_p): Likewise.
513 (gimple_omp_for_clauses): Likewise.
514 (gimple_omp_for_clauses_ptr): Likewise.
515 (gimple_omp_for_set_clauses): Likewise.
516 (gimple_omp_for_collapse): Likewise.
517 (gimple_omp_for_index): Likewise.
518 (gimple_omp_for_index_ptr): Likewise.
519 (gimple_omp_for_set_index): Likewise.
520 (gimple_omp_for_initial): Likewise.
521 (gimple_omp_for_initial_ptr): Likewise.
522 (gimple_omp_for_set_initial): Likewise.
523 (gimple_omp_for_final): Likewise.
524 (gimple_omp_for_final_ptr): Likewise.
525 (gimple_omp_for_set_final): Likewise.
526 (gimple_omp_for_incr): Likewise.
527 (gimple_omp_for_incr_ptr): Likewise.
528 (gimple_omp_for_set_incr): Likewise.
529 (gimple_omp_for_pre_body_ptr): Likewise.
530 (gimple_omp_for_set_pre_body): Likewise.
531 (gimple_omp_for_set_cond): Likewise.
532 (gimple_omp_set_body): Likewise.
533 (gimple_build_debug_source_bind_stat): Likewise.
534 (gimple_omp_critical_name): Likewise.
535 (gimple_omp_critical_name_ptr): Likewise.
536 (gimple_omp_atomic_load_rhs_ptr): Likewise.
537 (gimple_omp_continue_set_control_def): Likewise.
538 (gimple_build_omp_taskgroup): Likewise.
539 (gimple_omp_continue_control_def): Likewise.
540 (gimple_omp_continue_control_def_ptr): Likewise.
541 (gimple_omp_continue_control_use): Likewise.
542 (gimple_omp_continue_control_use_ptr): Likewise.
543 (gimple_omp_atomic_store_set_val): Likewise.
544 (gimple_build_omp_atomic_load): Likewise.
545 (gimple_omp_for_cond): Likewise.
546 (gimple_omp_atomic_store_val): Likewise.
547 (gimple_omp_atomic_load_set_lhs): Likewise.
548 (gimple_omp_atomic_load_set_rhs): Likewise.
549 (gimple_build_omp_teams): Likewise.
550 (gimple_omp_atomic_store_val_ptr): Likewise.
551 (gimple_omp_atomic_load_lhs): Likewise.
552 (gimple_omp_atomic_load_lhs_ptr): Likewise.
553 (gimple_omp_atomic_load_rhs): Likewise.
554 (gimple_try_kind): Likewise.
555 (gimple_try_cleanup): Likewise.
556 (gimple_try_set_catch_is_cleanup): Likewise.
557 (gimple_try_set_eval): Likewise.
558 (gimple_build_eh_else): Likewise.
559 (gimple_try_eval_ptr): Likewise.
560 (gimple_try_cleanup_ptr): Likewise.
561 (gimple_phi_capacity): Likewise.
562 (gimple_phi_num_args): Likewise.
563 (gimple_phi_result): Likewise.
564 (gimple_phi_result_ptr): Likewise.
565 (gimple_phi_arg): Likewise.
566 (gimple_phi_arg_def): Likewise.
567 (gimple_phi_arg_def_ptr): Likewise.
568 (gimple_phi_arg_edge): Likewise.
569 (gimple_phi_arg_location): Likewise.
570 (gimple_phi_arg_location_from_edge): Likewise.
571 (gimple_phi_arg_set_location): Likewise.
572 (gimple_resx_set_region): Likewise.
573 (gimple_build_switch): Likewise.
574 (gimple_eh_dispatch_region): Likewise.
575 (gimple_phi_arg_has_location): Likewise.
576 (gimple_build_wce): Likewise.
577 (gimple_resx_region): Likewise.
578 (gimple_build_eh_must_not_throw): Likewise.
579 (gimple_eh_must_not_throw_set_fndecl): Likewise.
580 (gimple_eh_else_n_body_ptr): Likewise.
581 (gimple_eh_else_n_body): Likewise.
582 (gimple_eh_else_e_body_ptr): Likewise.
583 (gimple_eh_else_e_body): Likewise.
584 (gimple_eh_else_set_n_body): Likewise.
585 (gimple_build_eh_filter): Likewise.
586 (gimple_eh_filter_set_failure): Likewise.
587 (gimple_eh_must_not_throw_fndecl): Likewise.
588 (gimple_build_catch): Likewise.
589 (gimple_eh_filter_failure): Likewise.
590 (gimple_eh_filter_set_types): Likewise.
591 (gimple_eh_filter_types): Likewise.
592 (gimple_eh_filter_types_ptr): Likewise.
593 (gimple_eh_filter_failure_ptr): Likewise.
594 (gimple_asm_input_p): Likewise.
595 (gimple_build_asm_vec): Likewise.
596 (gimple_catch_types): Likewise.
597 (gimple_catch_types_ptr): Likewise.
598 (gimple_catch_handler_ptr): Likewise.
599 (gimple_catch_handler): Likewise.
600 (gimple_catch_set_types): Likewise.
601 (gimple_statement_catch): Likewise.
602 (gimple_goto_set_dest): Likewise.
603 (gimple_bind_add_seq): Likewise.
604 (gimple_build_nop): Likewise.
605 (gimple_seq_first_stmt): Likewise.
606 (gimple_seq_first_stmt_as_a_bind): Likewise.
607 (gimple_bind_vars): Likewise.
608 (gimple_bind_set_vars): Likewise.
609 (gimple_bind_append_vars): Likewise.
610 (gimple_bind_body_ptr): Likewise.
611 (gimple_bind_body): Likewise.
612 (gimple_bind_set_body): Likewise.
613 (gimple_bind_add_stmt): Likewise.
614 (gimple_bind_block): Likewise.
615 (gimple_transaction_set_subcode): Likewise.
616 (gimple_return_retval_ptr): Likewise.
617 (gimple_alloc_stat): Likewise.
618 (gimple_return_retval): Likewise.
619 (gimple_transaction_body): Likewise.
620 (gimple_transaction_label_ptr): Likewise.
621 (gimple_build_omp_atomic_store): Likewise.
622 (gimple_omp_continue_set_control_use): Likewise.
623 (gimple_transaction_body_ptr): Likewise.
624 (gimple_transaction_label): Likewise.
625 (gimple_transaction_subcode): Likewise.
626 (gimple_transaction_set_body): Likewise.
627 (gimple_transaction_set_label): Likewise.
628 (gimple_call_arg_flags): Likewise.
629 (gimple_call_return_flags): Likewise.
630 (gimple_call_fndecl): Likewise.
631 (gimple_call_chain): Likewise.
632 (gimple_expr_type): Likewise.
633 (gimple_call_reset_alias_info): Likewise.
634 (gimple_build_call_vec): Likewise.
635 (gimple_build_call): Likewise.
636 (gimple_build_call_valist): Likewise.
637 (gimple_build_call_internal): Likewise.
638 (gimple_build_call_internal_vec): Likewise.
639 (canonicalize_cond_expr_cond): Likewise.
640 (gimple_call_copy_skip_args): Likewise.
641 (gimple_call_fn_ptr): Likewise.
642 (gimple_call_set_fndecl): Likewise.
643 (gimple_call_chain_ptr): Likewise.
644 (gimple_call_set_arg): Likewise.
645 (gimple_call_set_tail): Likewise.
646 (gimple_call_tail_p): Likewise.
647 (gimple_call_set_return_slot_opt): Likewise.
648 (gimple_call_return_slot_opt_p): Likewise.
649 (gimple_call_set_from_thunk): Likewise.
650 (gimple_call_from_thunk_p): Likewise.
651 (gimple_call_set_va_arg_pack): Likewise.
652 (gimple_call_noreturn_p): Likewise.
653 (gimple_call_set_nothrow): Likewise.
654 (gimple_call_nothrow_p): Likewise.
655 (gimple_call_set_alloca_for_var): Likewise.
656 (gimple_call_alloca_for_var_p): Likewise.
657 (gimple_call_copy_flags): Likewise.
658 (gimple_call_use_set): Likewise.
659 (gimple_statement_call): Likewise.
660 (gimple_call_internal_fn): Likewise.
661 (gimple_call_fntype): Likewise.
662 (gimple_asm_clobbers_memory_p): Likewise.
663 (gimple_bind_set_block): Likewise.
664 (gimple_asm_ninputs): Likewise.
665 (gimple_asm_noutputs): Likewise.
666 (gimple_asm_nclobbers): Likewise.
667 (gimple_asm_nlabels): Likewise.
668 (gimple_asm_input_op): Likewise.
669 (gimple_asm_set_input_op): Likewise.
670 (gimple_asm_output_op): Likewise.
671 (gimple_asm_set_output_op): Likewise.
672 (gimple_asm_set_clobber_op): Likewise.
673 (gimple_asm_set_label_op): Likewise.
674 (gimple_asm_string): Likewise.
675 (gimple_asm_set_input): Likewise.
676 (gimple_build_bind): Likewise.
677 (gimple_asm_input_op_ptr): Likewise.
678 (gimple_asm_output_op_ptr): Likewise.
679 (gimple_asm_clobber_op): Likewise.
680 (gimple_asm_label_op): Likewise.
681 (gimple_asm_volatile_p): Likewise.
682 (gimple_asm_set_volatile): Likewise.
683 (gimple_assign_set_rhs_with_ops): Likewise.
684 (gimple_build_call_from_tree): Likewise.
685 (gimple_build_assign_stat): Likewise.
686 (gimple_eh_dispatch_set_region): Likewise.
687 (gimple_switch_set_num_labels): Likewise.
688 (gimple_switch_index): Likewise.
689 (gimple_switch_set_index): Likewise.
690 (gimple_switch_set_label): Likewise.
691 (gimple_build_resx): Likewise.
692 (gimple_build_switch_nlabels): Likewise.
693 (gimple_switch_num_labels): Likewise.
694 (gimple_switch_index_ptr): Likewise.
695 (gimple_switch_label): Likewise.
696 (gimple_switch_default_label): Likewise.
697 (gimple_cond_set_condition): Likewise.
698 (gimple_label_label): Likewise.
699 (gimple_build_label): Likewise.
700 (gimple_goto_dest): Likewise.
701 (gimple_build_eh_dispatch): Likewise.
702 (gimple_build_debug_bind_stat): Likewise.
703 (gimple_cond_lhs): Likewise.
704 (gimple_cond_rhs): Likewise.
705 (gimple_cond_set_rhs): Likewise.
706 (gimple_cond_set_false_label): Likewise.
707 (gimple_cond_make_true): Likewise.
708 (gimple_cond_true_p): Likewise.
709 (gimple_build_assign_with_ops): Likewise.
710 (gimple_build_cond): Likewise.
711 (gimple_cond_set_condition_from_tree): Likewise.
712 (gimple_cond_code): Likewise.
713 (gimple_cond_lhs_ptr): Likewise.
714 (gimple_cond_rhs_ptr): Likewise.
715 (gimple_cond_true_label): Likewise.
716 (gimple_cond_set_true_label): Likewise.
717 (gimple_cond_false_label): Likewise.
718 (gimple_cond_make_false): Likewise.
719 (gimple_cond_false_p): Likewise.
720 (gimple_statement_cond): Likewise.
721 (is_a_helper <gimple_statement_cond *>): Likewise.
722 * gimplify-me.c (gimple_regimplify_operands): Likewise.
723 * gimplify.c (gimplify_omp_target_update): Likewise.
724 (gimplify_omp_for): Likewise.
725 (gimplify_omp_atomic): Likewise.
726 (gimplify_cleanup_point_expr): Likewise.
727 (struct gimplify_ctx): Likewise.
728 (pop_gimplify_context): Likewise.
729 (gimple_pop_bind_expr): Likewise.
730 (gimple_current_bind_expr): Likewise.
731 (declare_vars): Likewise.
732 (gimplify_one_sizepos): Likewise.
733 (gimplify_body): Likewise.
734 (gimplify_return_expr): Likewise.
735 (gimplify_transaction): Likewise.
736 (voidify_wrapper_expr): Likewise.
737 (gimplify_bind_expr): Likewise.
738 (gimplify_call_expr): Likewise.
739 (gimplify_modify_expr_to_memcpy): Likewise.
740 (gimplify_modify_expr_to_memset): Likewise.
741 (gimplify_modify_expr): Likewise.
742 (gimplify_expr): Likewise.
743 (gimplify_function_tree): Likewise.
744 (gimplify_asm_expr): Likewise.
745 (gimplify_init_constructor): Likewise.
746 (gimple_push_cleanup): Likewise.
747 (gimplify_switch_expr): Likewise.
748 (gimplify_case_label_expr): Likewise.
749 (gimplify_cond_expr): Likewise.
750 * gimplify.h (pop_gimplify_context): Likewise.
751 (gimple_current_bind_expr): Likewise.
752 (gimplify_one_sizepos): Likewise.
753 * graphite-scop-detection.c (limit_scops): Likewise.
754 (same_close_phi_node): Likewise.
755 (make_close_phi_nodes_unique): Likewise.
756 (canonicalize_loop_closed_ssa): Likewise.
757 * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Likewise.
758 (simple_copy_phi_p): Likewise.
759 (gsi_for_phi_node): Likewise.
760 (rewrite_close_phi_out_of_ssa): Likewise.
761 (rewrite_cross_bb_scalar_deps): Likewise.
762 (rewrite_commutative_reductions_out_of_ssa_loop): Likewise.
763 (tree_int_to_gmp): Likewise.
764 (reduction_phi_p): Likewise.
765 (build_scop_drs): Likewise.
766 (rewrite_phi_out_of_ssa): Likewise.
767 (rewrite_degenerate_phi): Likewise.
768 (rewrite_reductions_out_of_ssa): Likewise.
769 (is_reduction_operation_p): Likewise.
770 (phi_contains_arg): Likewise.
771 (follow_ssa_with_commutative_ops): Likewise.
772 (detect_commutative_reduction_arg): Likewise.
773 (detect_commutative_reduction_assign): Likewise.
774 (follow_inital_value_to_phi): Likewise.
775 (edge_initial_value_for_loop_phi): Likewise.
776 (used_outside_reduction): Likewise.
777 (detect_commutative_reduction): Likewise.
778 (dr_indices_valid_in_loop): Likewise.
779 (translate_scalar_reduction_to_array): Likewise.
780 (scop_ivs_can_be_represented): Likewise.
781 (remove_simple_copy_phi): Likewise.
782 (remove_invariant_phi): Likewise.
783 (insert_out_of_ssa_copy): Likewise.
784 (translate_scalar_reduction_to_array_for_stmt): Likewise.
785 (create_pw_aff_from_tree): Likewise.
786 (add_conditions_to_domain): Likewise.
787 (add_conditions_to_constraints): Likewise.
788 (single_pred_cond_non_loop_exit): Likewise.
789 * gsstruct.def: Likewise.
790 * internal-fn.c (get_multi_vector_move): Likewise.
791 (expand_LOAD_LANES): Likewise.
792 (expand_STORE_LANES): Likewise.
793 (expand_ANNOTATE): Likewise.
794 (expand_GOMP_SIMD_LANE): Likewise.
795 (expand_GOMP_SIMD_VF): Likewise.
796 (expand_GOMP_SIMD_LAST_LANE): Likewise.
797 (expand_UBSAN_NULL): Likewise.
798 (expand_UBSAN_BOUNDS): Likewise.
799 (expand_UBSAN_OBJECT_SIZE): Likewise.
800 (expand_ASAN_CHECK): Likewise.
801 (ubsan_expand_si_overflow_addsub_check): Likewise.
802 (ubsan_expand_si_overflow_neg_check): Likewise.
803 (ubsan_expand_si_overflow_mul_check): Likewise.
804 (expand_UBSAN_CHECK_ADD): Likewise.
805 (expand_UBSAN_CHECK_SUB): Likewise.
806 (expand_UBSAN_CHECK_MUL): Likewise.
807 (expand_LOOP_VECTORIZED): Likewise.
808 (expand_MASK_LOAD): Likewise.
809 (expand_MASK_STORE): Likewise.
810 (expand_ABNORMAL_DISPATCHER): Likewise.
811 (expand_BUILTIN_EXPECT): Likewise.
812 * internal-fn.h (internal_fn_fnspec): Likewise.
813 * ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
814 (phi_result_unknown_predicate): Likewise.
815 (set_switch_stmt_execution_predicate): Likewise.
816 * ipa-prop.c (param_type_may_change_p): Likewise.
817 (detect_type_change_from_memory_writes): Likewise.
818 (detect_type_change): Likewise.
819 (ipa_load_from_parm_agg): Likewise.
820 (get_ancestor_addr_info): Likewise.
821 (compute_complex_ancestor_jump_func): Likewise.
822 (build_agg_jump_func_from_list): Likewise.
823 (ipa_compute_jump_functions_for_edge): Likewise.
824 (ipa_is_ssa_with_stmt_def): Likewise.
825 (ipa_note_param_call): Likewise.
826 (ipa_analyze_indirect_call_uses): Likewise.
827 (ipa_analyze_virtual_call_uses): Likewise.
828 (ipa_analyze_stmt_uses): Likewise.
829 (ipa_modify_formal_parameters): Likewise.
830 (ipa_modify_call_arguments): Likewise.
831 * ipa-prop.h (ipa_get_agg_replacements_for_node): Likewise.
832 * ipa-pure-const.c (special_builtin_state): Likewise.
833 (check_stmt): Likewise.
834 * ipa-split.c (consider_split): Likewise.
835 (visit_bb): Likewise.
836 (find_return_bb): Likewise.
837 (find_retval): Likewise.
838 (split_function): Likewise.
839 (verify_non_ssa_vars): Likewise.
840 (check_forbidden_calls): Likewise.
841 * lto-streamer-in.c (fixup_call_stmt_edges_1): Likewise.
842 * lto-streamer-out.c (output_function): Likewise.
843 * omp-low.c (scan_omp_target): Likewise.
844 (scan_omp_single): Likewise.
845 (expand_omp_target): Likewise.
846 (scan_omp_sections): Likewise.
847 (lower_omp_single_simple): Likewise.
848 (scan_omp_for): Likewise.
849 (new_omp_context): Likewise.
850 (delete_omp_context): Likewise.
851 (scan_omp_task): Likewise.
852 (expand_cilk_for_call): Likewise.
853 (task_copyfn_remap_type): Likewise.
854 (gimple_build_cond_empty): Likewise.
855 (remove_exit_barrier): Likewise.
856 (expand_omp_taskreg): Likewise.
857 (expand_cilk_for): Likewise.
858 (struct omp_for_data): Likewise.
859 (is_combined_parallel): Likewise.
860 (workshare_safe_to_combine_p): Likewise.
861 (get_ws_args_for): Likewise.
862 (scan_omp_parallel): Likewise.
863 (finish_taskreg_scan): Likewise.
864 (expand_omp_for): Likewise.
865 (check_omp_nesting_restrictions): Likewise.
866 (expand_omp_sections): Likewise.
867 (expand_omp_atomic): Likewise.
868 (expand_parallel_call): Likewise.
869 (finalize_task_copyfn): Likewise.
870 (scan_omp_1_stmt): Likewise.
871 (lower_omp_sections): Likewise.
872 (lower_omp_single): Likewise.
873 (lower_omp_master): Likewise.
874 (lower_omp_critical): Likewise.
875 (lower_omp_for): Likewise.
876 (lower_omp_taskreg): Likewise.
877 (lower_omp_target): Likewise.
878 (lower_omp_teams): Likewise.
879 (ipa_simd_modify_function_body): Likewise.
880 (build_omp_barrier): Likewise.
881 (lower_omp_taskgroup): Likewise.
882 (lower_omp_ordered): Likewise.
883 (simd_clone_adjust): Likewise.
884 (lower_rec_input_clauses): Likewise.
885 (expand_omp_for_init_vars): Likewise.
886 (expand_omp_atomic_pipeline): Likewise.
887 (expand_omp_atomic_mutex): Likewise.
888 (diagnose_sb_1): Likewise.
889 (lower_lastprivate_clauses): Likewise.
890 (lower_send_shared_vars): Likewise.
891 (expand_omp_for_init_counts): Likewise.
892 (expand_omp_for_generic): Likewise.
893 (expand_omp_for_static_nochunk): Likewise.
894 (expand_omp_for_static_chunk): Likewise.
895 (expand_omp_simd): Likewise.
896 (lower_omp_1): Likewise.
897 (diagnose_sb_2): Likewise.
898 * predict.c (apply_return_prediction): Likewise.
899 (tree_estimate_probability_bb): Likewise.
900 (get_base_value): Likewise.
901 (predict_iv_comparison): Likewise.
902 (predict_extra_loop_exits): Likewise.
903 (predict_loops): Likewise.
904 * sese.c (sese_build_liveouts_bb): Likewise.
905 (sese_add_exit_phis_edge): Likewise.
906 (set_ifsese_condition): Likewise.
907 * ssa-iterators.h (for): Likewise.
908 (num_ssa_operands): Likewise.
909 (single_phi_def): Likewise.
910 (op_iter_init_phiuse): Likewise.
911 (link_use_stmts_after): Likewise.
912 (op_iter_init): Likewise.
913 * stmt.c (reset_out_edges_aux): Likewise.
914 (compute_cases_per_edge): Likewise.
915 * trans-mem.c (diagnose_tm_1): Likewise.
916 (lower_transaction): Likewise.
917 (tm_region_init): Likewise.
918 (generate_tm_state): Likewise.
919 (make_pass_lower_tm): Likewise.
920 (transaction_subcode_ior): Likewise.
921 (build_tm_load): Likewise.
922 (build_tm_store): Likewise.
923 (expand_transaction): Likewise.
924 (expand_block_edges): Likewise.
925 (dump_tm_memopt_transform): Likewise.
926 (tm_memopt_transform_blocks): Likewise.
927 (ipa_tm_insert_irr_call): Likewise.
928 (ipa_tm_transform_calls_redirect): Likewise.
929 (expand_call_tm): Likewise.
930 (ipa_tm_insert_gettmclone_call): Likewise.
931 * tree-call-cdce.c (check_target_format): Likewise.
932 (check_pow): Likewise.
933 (check_builtin_call): Likewise.
934 (gen_conditions_for_pow_int_base): Likewise.
935 (get_no_error_domain): Likewise.
936 (gen_shrink_wrap_conditions): Likewise.
937 (shrink_wrap_one_built_in_call): Likewise.
938 (shrink_wrap_conditional_dead_built_in_calls): Likewise.
939 (gen_one_condition): Likewise.
940 * tree-cfg.c (replace_uses_by): Likewise.
941 (reinstall_phi_args): Likewise.
942 (verify_gimple_in_cfg): Likewise.
943 (gimple_make_forwarder_block): Likewise.
944 (gimple_duplicate_bb): Likewise.
945 (add_phi_args_after_copy_edge): Likewise.
946 (gimple_duplicate_sese_tail): Likewise.
947 (gimple_lv_adjust_loop_header_phi): Likewise.
948 (move_stmt_r): Likewise.
949 (do_warn_unused_result): Likewise.
950 (verify_gimple_assign): Likewise.
951 (extract_true_false_edges_from_block): Likewise.
952 (verify_gimple_transaction): Likewise.
953 (verify_gimple_in_seq_2): Likewise.
954 (single_noncomplex_succ): Likewise.
955 (valid_fixed_convert_types_p): Likewise.
956 (make_gimple_asm_edges): Likewise.
957 (is_ctrl_altering_stmt): Likewise.
958 (need_fake_edge_p): Likewise.
959 (verify_gimple_comparison): Likewise.
960 (verify_gimple_assign_unary): Likewise.
961 (verify_gimple_assign_binary): Likewise.
962 (verify_gimple_assign_ternary): Likewise.
963 (verify_gimple_assign_single): Likewise.
964 (make_gimple_switch_edges): Likewise.
965 (find_case_label_for_value): Likewise.
966 (end_recording_case_labels): Likewise.
967 (get_cases_for_edge): Likewise.
968 (group_case_labels): Likewise.
969 (find_taken_edge): Likewise.
970 (find_taken_edge_cond_expr): Likewise.
971 (find_taken_edge_switch_expr): Likewise.
972 (verify_gimple_goto): Likewise.
973 (gimple_redirect_edge_and_branch): Likewise.
974 (make_edges): Likewise.
975 (gimple_can_merge_blocks_p): Likewise.
976 (gimple_merge_blocks): Likewise.
977 (remove_bb): Likewise.
978 (stmt_starts_bb_p): Likewise.
979 (verify_gimple_debug): Likewise.
980 (gimple_verify_flow_info): Likewise.
981 (gimple_block_label): Likewise.
982 (move_block_to_fn): Likewise.
983 (verify_gimple_return): Likewise.
984 (fold_cond_expr_cond): Likewise.
985 (make_cond_expr_edges): Likewise.
986 (cleanup_dead_labels): Likewise.
987 (verify_gimple_label): Likewise.
988 (verify_gimple_stmt): Likewise.
989 * tree-cfg.h (notice_special_calls): Likewise.
990 (group_case_labels_stmt): Likewise.
991 * tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
992 (cleanup_control_expr_graph): Likewise.
993 (tree_forwarder_block_p): Likewise.
994 (remove_forwarder_block): Likewise.
995 (remove_forwarder_block_with_phi): Likewise.
996 * tree-complex.c (init_dont_simulate_again): Likewise.
997 (complex_visit_stmt): Likewise.
998 (update_phi_components): Likewise.
999 (expand_complex_move): Likewise.
1000 (expand_complex_libcall): Likewise.
1001 (expand_complex_asm): Likewise.
1002 (expand_complex_comparison): Likewise.
1003 * tree-data-ref.c (get_references_in_stmt): Likewise.
1004 * tree-dfa.c (collect_dfa_stats): Likewise.
1005 (dump_dfa_stats): Likewise.
1006 * tree-eh.c (lookup_stmt_eh_lp): Likewise.
1007 (record_in_finally_tree): Likewise.
1008 (collect_finally_tree_1): Likewise.
1009 (outside_finally_tree): Likewise.
1010 (eh_region_may_contain_throw): Likewise.
1011 (lower_try_finally_dup_block): Likewise.
1012 (cleanup_is_dead_in): Likewise.
1013 (lower_try_finally): Likewise.
1014 (lower_eh_filter): Likewise.
1015 (same_handler_p): Likewise.
1016 (cleanup_empty_eh_merge_phis): Likewise.
1017 (emit_eh_dispatch): Likewise.
1018 (make_pass_lower_eh): Likewise.
1019 (redirect_eh_edge): Likewise.
1020 (sink_clobbers): Likewise.
1021 (lower_eh_dispatch): Likewise.
1022 (verify_eh_edges): Likewise.
1023 (emit_resx): Likewise.
1024 (make_pass_refactor_eh): Likewise.
1025 (lower_resx): Likewise.
1026 (mark_reachable_handlers): Likewise.
1027 (lower_try_finally_fallthru_label): Likewise.
1028 (get_eh_else): Likewise.
1029 (lower_try_finally_nofallthru): Likewise.
1030 (lower_try_finally_copy): Likewise.
1031 (lower_try_finally_switch): Likewise.
1032 (decide_copy_try_finally): Likewise.
1033 (honor_protect_cleanup_actions): Likewise.
1034 (lower_eh_must_not_throw): Likewise.
1035 (replace_goto_queue_1): Likewise.
1036 (lower_catch): Likewise.
1037 (refactor_eh_r): Likewise.
1038 (stmt_could_throw_p): Likewise.
1039 (lower_eh_constructs_2): Likewise.
1040 (collect_finally_tree): Likewise.
1041 (emit_post_landing_pad): Likewise.
1042 (lower_try_finally_onedest): Likewise.
1043 (unsplit_eh): Likewise.
1044 (cleanup_empty_eh_unsplit): Likewise.
1045 (do_goto_redirection): Likewise.
1046 (maybe_record_in_goto_queue): Likewise.
1047 * tree-eh.h (make_eh_dispatch_edges): Likewise.
1048 (redirect_eh_dispatch_edge): Likewise.
1049 (verify_eh_dispatch_edge): Likewise.
1050 * tree-emutls.c (lower_emutls_function_body): Likewise.
1051 (lower_emutls_stmt): Likewise.
1052 (gen_emutls_addr): Likewise.
1053 * tree-if-conv.c (if_convertible_loop_p_1): Likewise.
1054 (bb_with_exit_edge_p): Likewise.
1055 (convert_scalar_cond_reduction): Likewise.
1056 (predicate_all_scalar_phis): Likewise.
1057 * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
1058 (copy_phis_for_bb): Likewise.
1059 (copy_edges_for_bb): Likewise.
1060 (remap_gimple_seq): Likewise.
1061 (replace_locals_stmt): Likewise.
1062 (copy_bb): Likewise.
1063 (inline_forbidden_p_stmt): Likewise.
1064 (expand_call_inline): Likewise.
1065 (estimate_num_insns): Likewise.
1066 (mark_local_labels_stmt): Likewise.
1067 (remap_gimple_stmt): Likewise.
1068 (maybe_move_debug_stmts_to_successors): Likewise.
1069 (copy_cfg_body): Likewise.
1070 (copy_debug_stmts): Likewise.
1071 * tree-inline.h (void): Likewise.
1072 * tree-into-ssa.c (node): Likewise.
1073 (find_def_blocks_for): Likewise.
1074 (mark_phi_for_rewrite): Likewise.
1075 (insert_phi_nodes_for): Likewise.
1076 (rewrite_add_phi_arguments): Likewise.
1077 (rewrite_update_phi_arguments): Likewise.
1078 (mark_use_interesting): Likewise.
1079 (prepare_block_for_update): Likewise.
1080 (prepare_use_sites_for): Likewise.
1081 (delete_update_ssa): Likewise.
1082 (mark_virtual_operand_for_renaming): Likewise.
1083 * tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
1084 * tree-loop-distribution.c (stmts_from_loop): Likewise.
1085 (destroy_loop): Likewise.
1086 (distribute_loop): Likewise.
1087 (generate_loops_for_partition): Likewise.
1088 * tree-nested.c (walk_function): Likewise.
1089 (convert_nonlocal_reference_stmt): Likewise.
1090 (convert_local_reference_stmt): Likewise.
1091 (finalize_nesting_tree_1): Likewise.
1092 (get_chain_field): Likewise.
1093 (convert_nl_goto_reference): Likewise.
1094 (convert_tramp_reference_op): Likewise.
1095 (convert_gimple_call): Likewise.
1096 (convert_nl_goto_receiver): Likewise.
1097 * tree-nrv.c (finalize_nrv_r): Likewise.
1098 (make_pass_nrv): Likewise.
1099 (dest_safe_for_nrv_p): Likewise.
1100 * tree-object-size.c (pass_through_call): Likewise.
1101 (addr_object_size): Likewise.
1102 (alloc_object_size): Likewise.
1103 (expr_object_size): Likewise.
1104 (collect_object_sizes_for): Likewise.
1105 (check_for_plus_in_loops_1): Likewise.
1106 (fini_object_sizes): Likewise.
1107 * tree-outof-ssa.c (eliminate_build): Likewise.
1108 (eliminate_phi): Likewise.
1109 (remove_gimple_phi_args): Likewise.
1110 (eliminate_useless_phis): Likewise.
1111 (rewrite_trees): Likewise.
1112 (insert_backedge_copies): Likewise.
1113 * tree-parloops.c (printf): Likewise.
1114 (create_phi_for_local_result): Likewise.
1115 (loop_has_vector_phi_nodes): Likewise.
1116 (gather_scalar_reductions): Likewise.
1117 (try_create_reduction_list): Likewise.
1118 (take_address_of): Likewise.
1119 (transform_to_exit_first_loop): Likewise.
1120 (create_parallel_loop): Likewise.
1121 * tree-phinodes.c (remove_phi_args): Likewise.
1122 (phinodes_print_statistics): Likewise.
1123 (release_phi_node): Likewise.
1124 (reserve_phi_args_for_new_edge): Likewise.
1125 (add_phi_node_to_bb): Likewise.
1126 (create_phi_node): Likewise.
1127 (add_phi_arg): Likewise.
1128 (remove_phi_nodes): Likewise.
1129 (allocate_phi_node): Likewise.
1130 (ideal_phi_node_len): Likewise.
1131 (make_phi_node): Likewise.
1132 (resize_phi_node): Likewise.
1133 * tree-phinodes.h (add_phi_node_to_bb): Likewise.
1134 (add_phi_arg): Likewise.
1135 (degenerate_phi_result): Likewise.
1136 * tree-predcom.c (valid_initializer_p): Likewise.
1137 (find_looparound_phi): Likewise.
1138 (add_looparound_copies): Likewise.
1139 (initialize_root_vars): Likewise.
1140 (eliminate_temp_copies): Likewise.
1141 (replace_ref_with): Likewise.
1142 (initialize_root_vars_lm): Likewise.
1143 (reassociate_to_the_same_stmt): Likewise.
1144 * tree-profile.c (gimple_gen_interval_profiler): Likewise.
1145 (gimple_gen_pow2_profiler): Likewise.
1146 (gimple_gen_one_value_profiler): Likewise.
1147 (gimple_gen_time_profiler): Likewise.
1148 (gimple_gen_average_profiler): Likewise.
1149 (gimple_gen_ior_profiler): Likewise.
1150 (gimple_gen_edge_profiler): Likewise.
1151 (gimple_gen_ic_profiler): Likewise.
1152 (gimple_gen_ic_func_profiler): Likewise.
1153 * tree-scalar-evolution.c (follow_ssa_edge_binary): Likewise.
1154 (follow_ssa_edge_expr): Likewise.
1155 (follow_ssa_edge_in_rhs): Likewise.
1156 (backedge_phi_arg_p): Likewise.
1157 (follow_ssa_edge_in_condition_phi_branch): Likewise.
1158 (follow_ssa_edge_in_condition_phi): Likewise.
1159 (follow_ssa_edge_inner_loop_phi): Likewise.
1160 (follow_ssa_edge): Likewise.
1161 (simplify_peeled_chrec): Likewise.
1162 (analyze_evolution_in_loop): Likewise.
1163 (analyze_initial_condition): Likewise.
1164 (interpret_loop_phi): Likewise.
1165 (analyze_scalar_evolution_1): Likewise.
1166 (loop_closed_phi_def): Likewise.
1167 (scev_const_prop): Likewise.
1168 (add_to_evolution): Likewise.
1169 (get_loop_exit_condition): Likewise.
1170 * tree-scalar-evolution.h (number_of_latch_executions): Likewise.
1171 * tree-sra.c (replace_removed_params_ssa_names): Likewise.
1172 (convert_callers): Likewise.
1173 (scan_function): Likewise.
1174 (sra_modify_function_body): Likewise.
1175 (ipa_sra_modify_function_body): Likewise.
1176 (build_ref_for_offset): Likewise.
1177 (generate_subtree_copies): Likewise.
1178 (init_subtree_with_zero): Likewise.
1179 (sra_modify_expr): Likewise.
1180 (load_assign_lhs_subreplacements): Likewise.
1181 (sra_modify_assign): Likewise.
1182 (sra_ipa_reset_debug_stmts): Likewise.
1183 * tree-ssa-alias.c (refs_output_dependent_p): Likewise.
1184 (ref_maybe_used_by_call_p_1): Likewise.
1185 (ref_maybe_used_by_stmt_p): Likewise.
1186 (call_may_clobber_ref_p_1): Likewise.
1187 (stmt_may_clobber_ref_p_1): Likewise.
1188 * tree-ssa-alias.h (call_may_clobber_ref_p): Likewise.
1189 (call_may_clobber_ref_p_1): Likewise.
1190 * tree-ssa-ccp.c (ccp_initialize): Likewise.
1191 (ccp_lattice_meet): Likewise.
1192 (insert_clobber_before_stack_restore): Likewise.
1193 (ccp_fold): Likewise.
1194 (evaluate_stmt): Likewise.
1195 (ccp_fold_stmt): Likewise.
1196 (optimize_unreachable): Likewise.
1197 * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
1198 (coalesce_partitions): Likewise.
1199 (create_outofssa_var_map): Likewise.
1200 * tree-ssa-copy.c (copy_prop_visit_stmt): Likewise.
1201 (init_copy_prop): Likewise.
1202 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
1203 * tree-ssa-dce.c (remove_dead_phis): Likewise.
1204 (forward_edge_to_pdom): Likewise.
1205 (eliminate_unnecessary_stmts): Likewise.
1206 (propagate_necessity): Likewise.
1207 (remove_dead_stmt): Likewise.
1208 * tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
1209 (cprop_into_successor_phis): Likewise.
1210 (get_rhs_or_phi_arg): Likewise.
1211 (eliminate_degenerate_phis_1): Likewise.
1212 (struct hashable_expr): Likewise.
1213 (add_hashable_expr): Likewise.
1214 (print_expr_hash_elt): Likewise.
1215 (record_equivalences_from_stmt): Likewise.
1216 (initialize_hash_element): Likewise.
1217 (record_edge_info): Likewise.
1218 (eliminate_redundant_computations): Likewise.
1219 (propagate_rhs_into_lhs): Likewise.
1220 (free_all_edge_infos): Likewise.
1221 (make_pass_dominator): Likewise.
1222 (optimize_stmt): Likewise.
1223 * tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
1224 (simplify_bitwise_binary): Likewise.
1225 (simplify_rotate): Likewise.
1226 (simplify_not_neg_expr): Likewise.
1227 (simplify_gimple_switch_label_vec): Likewise.
1228 (forward_propagate_into_comparison): Likewise.
1229 (simplify_mult): Likewise.
1230 * tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
1231 (get_name_for_bit_test): Likewise.
1232 (recognize_single_bit_test): Likewise.
1233 (ifcombine_ifandif): Likewise.
1234 * tree-ssa-live.c (remove_unused_locals): Likewise.
1235 (set_var_live_on_entry): Likewise.
1236 (calculate_live_on_exit): Likewise.
1237 (verify_live_on_entry): Likewise.
1238 * tree-ssa-loop-im.c (mem_ref_in_stmt): Likewise.
1239 (determine_max_movement): Likewise.
1240 (execute_sm_if_changed): Likewise.
1241 (rewrite_reciprocal): Likewise.
1242 (execute_sm): Likewise.
1243 (rewrite_bittest): Likewise.
1244 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
1246 (unloop_loops): Likewise.
1247 (tree_estimate_loop_size): Likewise.
1248 (create_canonical_iv): Likewise.
1249 (remove_exits_and_undefined_stmts): Likewise.
1250 (remove_redundant_iv_tests): Likewise.
1251 (try_unroll_loop_completely): Likewise.
1252 * tree-ssa-loop-ivopts.c (get_iv): Likewise.
1253 (find_bivs): Likewise.
1254 (mark_bivs): Likewise.
1255 (find_interesting_uses_outside): Likewise.
1256 (determine_set_costs): Likewise.
1257 (rewrite_use_nonlinear_expr): Likewise.
1258 (remove_unused_ivs): Likewise.
1259 (extract_cond_operands): Likewise.
1260 (rewrite_use_compare): Likewise.
1261 * tree-ssa-loop-manip.c (tree_unroll_loop): Likewise.
1262 (rewrite_all_phi_nodes_with_iv): Likewise.
1263 (add_exit_phi): Likewise.
1264 (find_uses_to_rename_bb): Likewise.
1265 (verify_loop_closed_ssa): Likewise.
1266 (split_loop_exit_edge): Likewise.
1267 (create_iv): Likewise.
1268 (rewrite_phi_with_iv): Likewise.
1269 (tree_transform_and_unroll_loop): Likewise.
1270 (canonicalize_loop_ivs): Likewise.
1271 * tree-ssa-loop-niter.c (determine_value_range): Likewise.
1272 (finite_loop_p): Likewise.
1273 (chain_of_csts_start): Likewise.
1274 (get_base_for): Likewise.
1275 (loop_niter_by_eval): Likewise.
1276 (number_of_iterations_exit): Likewise.
1277 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
1278 (emit_mfence_after_loop): Likewise.
1279 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Likewise.
1280 (tree_unswitch_single_loop): Likewise.
1281 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Likewise.
1282 (build_and_insert_call): Likewise.
1283 (insert_reciprocals): Likewise.
1284 (powi_as_mults_1): Likewise.
1285 (powi_as_mults): Likewise.
1286 (build_and_insert_binop): Likewise.
1287 (build_and_insert_cast): Likewise.
1288 (gimple_expand_builtin_cabs): Likewise.
1289 (convert_mult_to_fma): Likewise.
1290 * tree-ssa-operands.c (get_tmr_operands): Likewise.
1291 (maybe_add_call_vops): Likewise.
1292 (parse_ssa_operands): Likewise.
1293 * tree-ssa-phiopt.c (tree_ssa_cs_elim): Likewise.
1294 (single_non_singleton_phi_for_edges): Likewise.
1295 (tree_ssa_phiopt_worker): Likewise.
1296 (replace_phi_edge_with_variable): Likewise.
1297 (hoist_adjacent_loads): Likewise.
1298 (conditional_replacement): Likewise.
1299 (abs_replacement): Likewise.
1300 (cond_store_replacement): Likewise.
1301 (cond_if_else_store_replacement_1): Likewise.
1302 (minmax_replacement): Likewise.
1303 * tree-ssa-phiprop.c (propagate_with_phi): Likewise.
1304 (phivn_valid_p): Likewise.
1305 (phiprop_insert_phi): Likewise.
1306 * tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
1307 (compute_avail): Likewise.
1308 (create_expression_by_pieces): Likewise.
1309 (do_regular_insertion): Likewise.
1310 (eliminate_insert): Likewise.
1311 * tree-ssa-propagate.c (simulate_stmt): Likewise.
1312 (replace_uses_in): Likewise.
1313 (replace_phi_args_in): Likewise.
1314 (update_gimple_call): Likewise.
1315 (update_call_from_tree): Likewise.
1316 (may_propagate_copy_into_stmt): Likewise.
1317 (propagate_tree_value_into_stmt): Likewise.
1318 * tree-ssa-propagate.h (prop_simulate_again_p): Likewise.
1319 * tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
1320 (is_phi_for_stmt): Likewise.
1321 (build_and_add_sum): Likewise.
1322 (update_ops): Likewise.
1323 (get_reassociation_width): Likewise.
1324 (reassociate_bb): Likewise.
1325 (maybe_optimize_range_tests): Likewise.
1326 * tree-ssa-sccvn.c (DFS): Likewise.
1327 (ao_ref_init_from_vn_reference): Likewise.
1328 (valueize_shared_reference_ops_from_ref): Likewise.
1329 (vn_reference_lookup_3): Likewise.
1330 (vn_reference_lookup): Likewise.
1331 (visit_nary_op): Likewise.
1332 (simplify_binary_expression): Likewise.
1333 (simplify_unary_expression): Likewise.
1334 (visit_use): Likewise.
1335 (set_hashtable_value_ids): Likewise.
1336 * tree-ssa-sccvn.h (vn_constant_eq_with_type): Likewise.
1337 * tree-ssa-sink.c (find_bb_for_arg): Likewise.
1338 (nearest_common_dominator_of_uses): Likewise.
1339 (statement_sink_location): Likewise.
1340 * tree-ssa-strlen.c (do_invalidate): Likewise.
1341 * tree-ssa-structalias.c (new_var_info): Likewise.
1342 (get_call_vi): Likewise.
1343 (lookup_call_use_vi): Likewise.
1344 (lookup_call_clobber_vi): Likewise.
1345 (get_call_use_vi): Likewise.
1346 (get_function_part_constraint): Likewise.
1347 (handle_rhs_call): Likewise.
1348 (handle_lhs_call): Likewise.
1349 (handle_const_call): Likewise.
1350 (handle_pure_call): Likewise.
1351 (get_fi_for_callee): Likewise.
1352 (find_func_aliases_for_builtin_call): Likewise.
1353 (find_func_clobbers): Likewise.
1354 (compute_points_to_sets): Likewise.
1355 (ipa_pta_execute): Likewise.
1356 (find_func_aliases): Likewise.
1357 * tree-ssa-tail-merge.c (same_succ_hash): Likewise.
1358 (release_last_vdef): Likewise.
1359 (same_phi_alternatives_1): Likewise.
1360 (find_clusters): Likewise.
1361 (vop_phi): Likewise.
1362 (replace_block_by): Likewise.
1363 * tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
1364 * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
1366 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
1367 (simplify_control_stmt_condition): Likewise.
1368 (dummy_simplify): Likewise.
1369 (propagate_threaded_block_debug_into): Likewise.
1370 (thread_around_empty_blocks): Likewise.
1371 (thread_through_normal_block): Likewise.
1372 * tree-ssa-threadedge.h (thread_across_edge): Likewise.
1373 * tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
1374 (get_value_locus_in_path): Likewise.
1375 (copy_phi_args): Likewise.
1376 (phi_args_equal_on_edges): Likewise.
1377 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
1378 * tree-ssa-uninit.c (can_skip_redundant_opnd): Likewise.
1379 (find_predicates): Likewise.
1380 (collect_phi_def_edges): Likewise.
1381 (find_matching_predicate_in_rest_chains): Likewise.
1382 (prune_uninit_phi_opnds_in_unrealizable_paths): Likewise.
1383 (use_pred_not_overlap_with_undef_path_pred): Likewise.
1384 (normalize_preds): Likewise.
1385 (is_use_properly_guarded): Likewise.
1386 (find_uninit_use): Likewise.
1387 (gate_warn_uninitialized): Likewise.
1388 * tree-ssa.c (ssa_redirect_edge): Likewise.
1389 (flush_pending_stmts): Likewise.
1390 (verify_use): Likewise.
1391 (verify_ssa): Likewise.
1392 (execute_update_addresses_taken): Likewise.
1393 (insert_debug_temp_for_var_def): Likewise.
1394 * tree-stdarg.c (check_all_va_list_escapes): Likewise.
1395 * tree-switch-conversion.c (check_final_bb): Likewise.
1396 (build_constructors): Likewise.
1397 (build_arrays): Likewise.
1398 (gen_def_assigns): Likewise.
1399 (case_bit_test_cmp): Likewise.
1400 (emit_case_bit_tests): Likewise.
1401 (gather_default_values): Likewise.
1402 (constructor_contains_same_values_p): Likewise.
1403 (array_value_type): Likewise.
1404 (build_one_array): Likewise.
1405 (fix_phi_nodes): Likewise.
1406 (process_switch): Likewise.
1407 (hoist_edge_and_branch_if_true): Likewise.
1408 (gen_inbound_check): Likewise.
1409 * tree-tailcall.c (add_successor_phi_arg): Likewise.
1410 (propagate_through_phis): Likewise.
1411 (eliminate_tail_call): Likewise.
1412 (create_tailcall_accumulator): Likewise.
1413 (tree_optimize_tail_calls_1): Likewise.
1414 (adjust_return_value): Likewise.
1415 (optimize_tail_call): Likewise.
1416 (independent_of_stmt_p): Likewise.
1417 (find_tail_calls): Likewise.
1418 (adjust_return_value_with_ops): Likewise.
1419 (update_accumulator_with_ops): Likewise.
1420 * tree-vect-data-refs.c (bump_vector_ptr): Likewise.
1421 (vect_setup_realignment): Likewise.
1422 * tree-vect-generic.c (expand_vector_condition): Likewise.
1423 (optimize_vector_constructor): Likewise.
1424 (lower_vec_perm): Likewise.
1425 (expand_vector_operations_1): Likewise.
1426 * tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
1427 (vect_can_advance_ivs_p): Likewise.
1428 (slpeel_update_phi_nodes_for_guard1): Likewise.
1429 (slpeel_update_phi_nodes_for_guard2): Likewise.
1430 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
1431 (slpeel_tree_peel_loop_to_edge): Likewise.
1432 (vect_update_ivs_after_vectorizer): Likewise.
1433 (vect_loop_versioning): Likewise.
1434 (slpeel_make_loop_iterate_ntimes): Likewise.
1435 (slpeel_add_loop_guard): Likewise.
1436 (slpeel_can_duplicate_loop_p): Likewise.
1437 (set_prologue_iterations): Likewise.
1438 * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
1439 (vect_analyze_scalar_cycles_1): Likewise.
1440 (vect_analyze_loop_operations): Likewise.
1441 (get_initial_def_for_induction): Likewise.
1442 (vectorizable_reduction): Likewise.
1443 (vect_transform_loop): Likewise.
1444 (vect_create_epilog_for_reduction): Likewise.
1445 (vect_analyze_scalar_cycles): Likewise.
1446 (vect_analyze_loop_form): Likewise.
1447 * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
1448 * tree-vect-slp.c (vect_build_slp_tree_1): Likewise.
1449 * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
1450 (vectorizable_load): Likewise.
1451 (vect_finish_stmt_generation): Likewise.
1452 (vectorizable_call): Likewise.
1453 (vectorizable_condition): Likewise.
1454 * tree-vectorizer.h (unlimited_cost_model): Likewise.
1455 * tree-vrp.c (find_assert_locations): Likewise.
1456 (vrp_initialize): Likewise.
1457 (vrp_meet): Likewise.
1458 (extract_range_from_unary_expr): Likewise.
1459 (extract_range_basic): Likewise.
1460 (build_assert_expr_for): Likewise.
1461 (vrp_visit_assignment_or_call): Likewise.
1462 (simplify_truth_ops_using_ranges): Likewise.
1463 (simplify_float_conversion_using_ranges): Likewise.
1464 (live_on_edge): Likewise.
1465 (compare_case_labels): Likewise.
1466 (vrp_visit_cond_stmt): Likewise.
1467 (find_case_label_index): Likewise.
1468 (find_case_label_range): Likewise.
1469 (find_case_label_ranges): Likewise.
1470 (simplify_cond_using_ranges): Likewise.
1471 (register_edge_assert_for): Likewise.
1472 (find_assert_locations_1): Likewise.
1473 (vrp_evaluate_conditional): Likewise.
1474 (vrp_visit_stmt): Likewise.
1475 (range_fits_type_p): Likewise.
1476 (simplify_stmt_using_ranges): Likewise.
1477 (fold_predicate_in): Likewise.
1478 (simplify_stmt_for_jump_threading): Likewise.
1479 (identify_jump_threads): Likewise.
1480 * tree.c (find_decls_types_in_node): Likewise.
1481 * ubsan.c (instrument_nonnull_return): Likewise.
1482 (instrument_mem_ref): Likewise.
1483 * value-prof.c (find_func_by_profile_id): Likewise.
1484 (check_ic_target): Likewise.
1485 (gimple_ic_transform): Likewise.
1486 (interesting_stringop_to_profile_p): Likewise.
1487 (gimple_stringops_transform): Likewise.
1488 (gimple_stringops_values_to_profile): Likewise.
1489 (gimple_value_profile_transformations): Likewise.
1490 (gimple_divmod_fixed_value_transform): Likewise.
1491 (gimple_mod_pow2_value_transform): Likewise.
1492 (gimple_mod_subtract_transform): Likewise.
1493 (gimple_divmod_fixed_value): Likewise.
1494 (gimple_mod_pow2): Likewise.
1495 (gimple_mod_subtract): Likewise.
1496 (gimple_ic): Likewise.
1497 (gimple_stringop_fixed_value): Likewise.
1498 * value-prof.h (stringop_block_profile): Likewise.
1499 (gimple_ic): Likewise.
1500 * vtable-verify.c (verify_bb_vtables): Likewise.
1502 2014-10-27 David Malcolm <dmalcolm@redhat.com>
1504 * coretypes.h (gimple_cond): Drop this typedef.
1505 (const_gimple_cond): Likewise.
1506 (gimple_debug): Likewise.
1507 (const_gimple_debug): Likewise.
1508 (gimple_goto): Likewise.
1509 (const_gimple_goto): Likewise.
1510 (gimple_label): Likewise.
1511 (const_gimple_label): Likewise.
1512 (gimple_switch): Likewise.
1513 (const_gimple_switch): Likewise.
1514 (gimple_assign): Likewise.
1515 (const_gimple_assign): Likewise.
1516 (gimple_asm): Likewise.
1517 (const_gimple_asm): Likewise.
1518 (gimple_call): Likewise.
1519 (const_gimple_call): Likewise.
1520 (gimple_transaction): Likewise.
1521 (const_gimple_transaction): Likewise.
1522 (gimple_return): Likewise.
1523 (const_gimple_return): Likewise.
1524 (gimple_bind): Likewise.
1525 (const_gimple_bind): Likewise.
1526 (gimple_catch): Likewise.
1527 (const_gimple_catch): Likewise.
1528 (gimple_eh_filter): Likewise.
1529 (const_gimple_eh_filter): Likewise.
1530 (gimple_eh_must_not_throw;): Likewise.
1531 (const_gimple_eh_must_not_throw): Likewise.
1532 (gimple_eh_else): Likewise.
1533 (const_gimple_eh_else): Likewise.
1534 (gimple_resx): Likewise.
1535 (const_gimple_resx): Likewise.
1536 (gimple_eh_dispatch): Likewise.
1537 (const_gimple_eh_dispatch): Likewise.
1538 (gimple_phi): Likewise.
1539 (const_gimple_phi): Likewise.
1540 (gimple_try): Likewise.
1541 (const_gimple_try): Likewise.
1542 (gimple_omp_atomic_load): Likewise.
1543 (const_gimple_omp_atomic_load): Likewise.
1544 (gimple_omp_atomic_store): Likewise.
1545 (const_gimple_omp_atomic_store): Likewise.
1546 (gimple_omp_continue): Likewise.
1547 (const_gimple_omp_continue): Likewise.
1548 (gimple_omp_critical): Likewise.
1549 (const_gimple_omp_critical): Likewise.
1550 (gimple_omp_for): Likewise.
1551 (const_gimple_omp_for): Likewise.
1552 (gimple_omp_parallel): Likewise.
1553 (const_gimple_omp_parallel): Likewise.
1554 (gimple_omp_task): Likewise.
1555 (const_gimple_omp_task): Likewise.
1556 (gimple_omp_sections): Likewise.
1557 (const_gimple_omp_sections): Likewise.
1558 (gimple_omp_single): Likewise.
1559 (const_gimple_omp_single): Likewise.
1560 (gimple_omp_target): Likewise.
1561 (const_gimple_omp_target): Likewise.
1562 (gimple_omp_teams): Likewise.
1563 (const_gimple_omp_teams): Likewise.
1565 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1567 * tree-inline.h (struct copy_body_data): Rename field
1568 "gimple_call" to "call_stmt".
1570 * gimplify.c (gimplify_bind_expr): Rename local "gimple_bind" to
1572 (gimplify_switch_expr): Rename local "gimple_switch" to
1574 (gimplify_cond_expr): Rename local "gimple_cond" to "cond_stmt".
1575 * tree-eh.c (lower_catch): Rename local "gcatch" to "catch_stmt".
1576 * tree-inline.c (copy_bb): Update for renaming of field within
1577 struct copy_body_data from "gimple_call" to "call_stmt".
1578 (copy_cfg_body): Likewise.
1579 (copy_debug_stmt): Likewise.
1580 (expand_call_inline): Likewise.
1582 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1584 Convert various gimple to gimple_phi within ssa-iterators.h
1586 * ssa-iterators.h (FOR_EACH_PHI_OR_STMT_USE): Add checked cast to
1588 (FOR_EACH_PHI_OR_STMT_DEF): Likewise.
1590 * ssa-iterators.h (single_phi_def): Require a gimple_phi.
1591 (op_iter_init_phiuse): Likewise.
1592 (op_iter_init_phidef): Likewise.
1593 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Likewise.
1595 * tree-ssa-loop-im.c (link_use_stmts_after): Replace check against
1596 GIMPLE_PHI with add a dyn_cast to gimple_phi, using result as needed.
1597 (determine_max_movement): Likewise.
1598 * tree-ssa-reassoc.c (is_phi_for_stmt): Likewise.
1599 * tree-ssa-sccvn.c (start_over:): Likewise.
1601 * tree-ssa-loop-im.c
1602 (move_computations_dom_walker::before_dom_children): Split iterator
1603 into gimple_stmt_iterator and a gimple_phi_iterator so that a local
1604 can become a gimple_phi.
1606 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1608 Use gimple_phi in many more places.
1610 * gimple-ssa-strength-reduction.c (slsr_process_phi): Require a
1612 * ipa-inline-analysis.c (predicate_for_phi_result): Likewise.
1613 * tree-emutls.c (lower_emutls_phi_arg): Likewise.
1614 * tree-if-conv.c (predicate_scalar_phi): Likewise.
1615 * tree-into-ssa.c (mark_virtual_phi_result_for_renaming): Likewise.
1616 * tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
1617 * tree-phinodes.c (degenerate_phi_result): Likewise.
1618 * tree-phinodes.h (degenerate_phi_result): Likewise.
1619 * tree-ssa.c (verify_use): Likewise.
1620 * tree-switch-conversion.c (array_value_type): Likewise.
1622 * graphite-scop-detection.c (same_close_phi_node): Require a pair
1624 (remove_duplicate_close_phi): Require a gimple_phi and a
1625 gimple_phi_iterator.
1626 (make_close_phi_nodes_unique): Convert a local into a
1627 gimple_phi_iterator.
1629 * gimple-pretty-print.c (gimple_dump_bb_for_graph): Split iterator
1630 into gimple_stmt_iterator and gimple_phi_iterator, converting local
1631 from gimple to gimple_phi.
1632 * gimple-ssa-strength-reduction.c
1633 (find_candidates_dom_walker::before_dom_children): Likewise.
1634 * ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
1635 * ipa-split.c (verify_non_ssa_vars): Likewise.
1636 (visit_bb): Likewise.
1637 (split_function): Likewise.
1638 * lto-streamer-out.c (output_function): Likewise.
1639 * sese.c (sese_build_liveouts_bb): Likewise.
1640 * tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
1641 * tree-complex.c (init_dont_simulate_again): Likewise.
1642 * tree-dfa.c (collect_dfa_stats): Likewise.
1643 * tree-eh.c (sink_clobbers): Likewise.
1644 * tree-emutls.c (lower_emutls_function_body): Likewise.
1645 * tree-into-ssa.c (rewrite_dom_walker::before_dom_children):
1647 (rewrite_update_dom_walker::before_dom_children): Likewise.
1648 (prepare_block_for_update): Likewise.
1649 * tree-loop-distribution.c (stmts_from_loop): Likewise.
1650 (generate_loops_for_partition): Likewise.
1651 (destroy_loop): Likewise.
1652 (tree_loop_distribution): Likewise.
1653 * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
1654 * tree-ssa-copy.c (init_copy_prop): Likewise.
1655 * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
1656 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Likewise.
1657 * tree-ssa-loop-manip.c (find_uses_to_rename_bb): Likewise.
1658 (verify_loop_closed_ssa): Likewise.
1659 * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
1660 * tree-ssa-pre.c (compute_avail): Likewise.
1661 (eliminate_dom_walker::before_dom_children): Likewise.
1662 * tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Likewise.
1663 * tree-ssa-structalias.c (compute_points_to_sets): Likewise.
1664 (ipa_pta_execute): Likewise.
1665 * tree-ssa-tail-merge.c (same_succ_hash): Likewise.
1666 (release_last_vdef): Likewise.
1667 * tree-ssa.c (verify_ssa): Likewise.
1668 (execute_update_addresses_taken): Likewise.
1669 * tree-stdarg.c (check_all_va_list_escapes): Likewise.
1670 (execute_optimize_stdarg): Likewise.
1671 * tree-switch-conversion.c (build_arrays): Likewise.
1672 * tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
1673 * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
1674 (vect_analyze_loop_operations): Likewise.
1675 (vect_transform_loop): Likewise.
1676 * tree-vrp.c (find_assert_locations_1): Likewise.
1677 (vrp_initialize): Likewise.
1679 * graphite-sese-to-poly.c (gsi_for_phi_node): Convert psi to a
1680 gimple_phi_iterator.
1681 (rewrite_degenerate_phi): Require a gimple_phi_iterator; strengthen
1682 local "phi" from gimple to gimple-phi.
1684 * ipa-split.c (consider_split): Convert local psi to a
1685 gimple_phi_iterator.
1686 * tree-cfg.c (gimple_merge_blocks): Likewise.
1688 * tree-eh.c (unsplit_eh): Replace reuse of gsi with a new
1689 gimple_phi_iterator gpi, using it to convert statement from gimple
1691 (cleanup_empty_eh_merge_phis): Strengthen ophi from gimple to
1693 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Replace reuse of
1694 gsi with a new gimple_phi_iterator gpi, using it to convert
1695 expressions from gimple to gimple_phi; add a checked cast to
1698 * tree-if-conv.c (predicate_all_scalar_phis): Convert local phi_gsi
1699 to be a gimple_phi_iterator; convert "phi" to be a gimple_phi.
1700 * tree-parloops.c (loop_has_vector_phi_nodes): Convert local to be a
1701 gimple_phi_iterator.
1702 * tree-ssa-ccp.c (ccp_initialize): Likewise.
1704 * tree-scalar-evolution.c (analyze_initial_condition): Add checked cast
1706 * tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
1707 * tree-ssa-dom.c (get_rhs_or_phi_arg): Likewise.
1709 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1711 Use gimple_call in some places within tree-ssa-dom.c
1713 * tree-ssa-dom.c (struct hashable_expr): Strengthen field
1714 call.fn_from from gimple to gimple_call.
1715 (initialize_hash_element): Replace check against GIMPLE_CALL
1716 with dyn_cast<gimple_call> and update gimple_call_ uses to use
1717 new gimple_call local, along with fn_from initializer.
1718 (iterative_hash_hashable_expr): Strengthen type of local "fn_from"
1719 from gimple to gimple_call.
1720 (print_expr_hash_elt): Likewise.
1722 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1724 Concretize gimple_call_copy_flags and ipa_modify_call_arguments
1726 * gimple.h (gimple_call_copy_flags): Require gimple_calls.
1728 * ipa-prop.c (ipa_modify_call_arguments): Require a gimple_call.
1729 * ipa-prop.h (ipa_modify_call_arguments): Likewise.
1731 * tree-inline.c (copy_bb): Replace is_gimple_call with new local
1732 and call to dyn_cast<gimple_call>, updating gimple_call_ uses to
1733 use the type-checked local.
1735 * tree-sra.c (convert_callers): Replace check for GIMPLE_CALL with
1738 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1740 Concretize gimple_assign_nontemporal_move_p
1742 * gimple.h (gimple_assign_nontemporal_move_p): Require a
1743 const_gimple_assign rather than a const_gimple.
1745 * cfgexpand.c (expand_gimple_stmt_1): Add local assign_stmt and
1746 checked cast within "case GIMPLE_ASSIGN".
1748 * gimple-streamer-out.c (output_gimple_stmt): Add checked cast to
1751 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1753 Concretize gimple_call_arg_flags
1755 * gimple.h (gimple_call_arg_flags): Require a const_gimple_call
1756 rather than a const_gimple.
1758 * gimple.c (gimple_call_fnspec): Likewise.
1759 (gimple_call_arg_flags): Likewise.
1761 * tree-inline.c (remap_gimple_stmt): Use a dyn_cast rather than a
1762 is_gimple_call and repeated checked casts.
1764 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1766 Concretize gimple_call_set_tail and gimple_call_tail_p
1768 * gimple.h (gimple_call_set_tail): Require a gimple_call.
1769 (gimple_call_tail_p): Likewise.
1771 * cfgexpand.c (expand_gimple_tailcall): Likewise.
1772 (expand_gimple_basic_block): Convert calls to is_gimple_call to a
1773 dyn_cast, introducing a new "call_stmt" local.
1775 * trans-mem.c (expand_block_edges): Likewise, for comparison against
1778 * tree-inline.c (remap_gimple_stmt): Add checked casts to
1779 gimple_call in region guarded by is_gimple_call.
1781 * tree-tailcall.c (optimize_tail_call): Add checked cast to gimple_call
1784 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1786 Concretize gimple_call_set_fntype
1788 * gimple-fold.c (gimple_fold_builtin_sprintf_chk): Strengthen
1789 local "stmt" from gimple to gimple_call.
1791 * gimple.h (gimple_call_set_fntype): Require a gimple_call.
1793 * omp-low.c (lower_omp_1): Add a new local gimple_call "call_stmt",
1794 from a checked cast to gimple_call within the "case GIMPLE_CALL",
1795 for the regions where "stmt" is not subsequently overwritten.
1797 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1799 Concretize gimple_call_set_fn
1801 * gimple.h (gimple_call_set_fn): Require a gimple_call.
1803 * trans-mem.c (dump_tm_memopt_transform): Likewise.
1804 (tm_memopt_transform_blocks): Add checked casts to gimple_call in
1805 suites guarded by is_tm_simple_{load|store}, which enforce that
1806 the statement must be a GIMPLE_CALL; use this when invoking
1807 dump_tm_memopt_transform.
1809 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1811 Tweak to gimplify_modify_expr
1813 * gimplify.c (gimplify_modify_expr): Introduce local "call_stmt".
1815 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1817 Concretize gimple_call_nothrow_p
1819 * gimple.h (gimple_call_nothrow_p): Require a gimple_call.
1821 * tree-eh.c (stmt_could_throw_p): Add checked cast to gimple_call.
1823 * tree-vect-slp.c (vect_build_slp_tree_1): Replace call to
1824 is_gimple_call with dyn_cast<gimple_call>, introducing a local.
1826 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1828 Concretize gimple_call_set_nothrow
1830 * gimple.h (gimple_call_set_nothrow): Require a gimple_call.
1832 * trans-mem.c (ipa_tm_insert_gettmclone_call): Likewise.
1833 (ipa_tm_transform_calls_redirect): Add checked cast to gimple call; this
1834 is only called for gsi on a GIMPLE_CALL statement.
1836 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1838 Concretize various expressions from gimple to gimple_cond
1840 * ipa-split.c (check_forbidden_calls): Replace check against
1841 GIMPLE_COND with a dyn_cast<gimple_cond>, introducing a
1843 * predict.c (predict_extra_loop_exits): Likewise.
1844 * tree-vrp.c (fold_predicate_in): Likewise.
1845 (simplify_stmt_for_jump_threading): Likewise.
1847 * predict.c (is_comparison_with_loop_invariant_p): Require a
1849 (predict_iv_comparison): Add checked cast to gimple_cond once we
1850 know the code is GIMPLE_COND.
1851 (predict_loops): Change type of "stmt" to gimple_cond,
1852 adding checked casts to its assignments (which are both guarded by
1853 checks against GIMPLE_COND).
1855 * tree-vrp.c (find_conditional_asserts): Require a gimple_cond.
1856 (vrp_evaluate_conditional): Likewise.
1857 (find_assert_locations_1): Add checked cast to gimple_cond.
1858 (vrp_visit_stmt): Likewise.
1860 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1862 Concretize gimple_cond_{lhs|rhs}_ptr
1864 * gimple.h (gimple_cond_lhs_ptr): Require a const_gimple_cond
1865 rather than just a const_gimple_cond.
1866 (gimple_cond_rhs_ptr): Likewise.
1868 * gimplify-me.c (gimple_regimplify_operands): Add a checked cast
1869 to gimple_cond within "case GIMPLE_COND".
1870 * omp-low.c (lower_omp_1): Likewise.
1872 * omp-low.c (expand_omp_simd): Introduce a new local cond_stmt
1873 to express that the conditional is indeed a gimple_cond.
1875 * tree-ssa-loop-ivopts.c (extract_cond_operands): Add a checked
1876 cast to gimple_cond within a region where the code is known to
1879 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1881 Concretize gimple_cond_set_{lhs|rhs}
1883 * gimple.h (gimple_cond_set_lhs): Require a gimple_cond.
1884 (gimple_cond_set_rhs): Likewise.
1886 * tree-parloops.c (transform_to_exit_first_loop): Convert locals
1887 "cond_stmt" and "cond_nit" to gimple_cond, adding checked casts,
1888 since the existing code assumes that code is GIMPLE_COND. Convert
1889 "stmt" to a gimple_assign.
1890 (create_parallel_loop): Likewise for "cond_stmt".
1892 * tree-ssa-loop-im.c (rewrite_bittest): Replace check for code
1893 GIMPLE_COND with a dyn_cast, adding new local "cond_stmt".
1895 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1897 Concretize gimple_cond_set_code
1899 * gimple.h (gimple_cond_set_code): Require a gimple_cond.
1901 * tree-complex.c (expand_complex_comparison): Add a checked cast to
1902 gimple_cond within "case GIMPLE_COND".
1904 * tree-ssa-loop-ivcanon.c (create_canonical_iv): Convert local "cond"
1905 to a gimple_cond, adding a checked cast. The existing code requires
1906 that the last statement before the exit edge have code GIMPLE_COND,
1907 though it's not clear to me where this is verified.
1909 * tree-ssa-loop-ivopts.c (rewrite_use_compare): Add a checked cast
1910 to gimple_cond on "use->stmt".
1912 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Convert
1913 local "exit_if" to gimple_cond, adding a checked cast. It's not
1914 clear to me exactly where the GIMPLE_COND-ness of this is
1915 established, but the existing code requires it.
1916 (canonicalize_loop_ivs): Similarly for "stmt".
1918 * tree-ssa-propagate.c (propagate_tree_value_into_stmt): Replace
1919 a check against GIMPLE_COND with a dyn_cast<gimple_cond>.
1921 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1923 Concretize gimple_cond_{true|false}_label
1925 * gimple.h (gimple_cond_true_label): Require a const_gimple_cond
1926 rather than just a const_gimple.
1927 (gimple_cond_false_label): Likewise.
1929 * omp-low.c (diagnose_sb_2): Add checked cast to gimple_cond within
1931 * tree-eh.c (maybe_record_in_goto_queue): Likewise.
1933 * tree-cfg.c (verify_gimple_stmt): Add a checked cast to gimple_cond
1934 within "case GIMPLE_COND", splitting it out into...
1935 (verify_gimple_label): New.
1937 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1939 Concretize gimple_switch_index and gimple_switch_index_ptr
1941 * gimple.h (gimple_switch_index): Require a const_gimple_switch rather
1942 than a plain const_gimple.
1943 (gimple_switch_index_ptr): Likewise.
1945 * gimplify-me.c (gimple_regimplify_operands): Add checked cast to
1946 gimple_switch within "case GIMPLE_SWITCH".
1947 * tree-cfgcleanup.c (cleanup_control_expr_graph): Likewise.
1948 * tree-ssa-ccp.c (ccp_fold): Likewise.
1949 * tree-ssa-dom.c (optimize_stmt): Likewise.
1951 * tree-ssa-ccp.c (evaluate_stmt): Add checked cast to
1952 gimple_switch within region guarded by check for GIMPLE_SWITCH.
1953 * tree-ssa-dom.c (record_edge_info): Likewise.
1954 (eliminate_redundant_computations): Likewise.
1955 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
1956 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
1958 * tree-ssa-dom.c (initialize_hash_element): Replace check for
1959 code GIMPLE_SWITCH with a dyn_cast<gimple_switch>.
1960 (propagate_rhs_into_lhs): Likewise.
1961 * tree-ssa-propagate.c (may_propagate_copy_into_stmt): Likewise.
1962 (propagate_tree_value_into_stmt): Likewise.
1964 2014-10-24 David Malcolm <dmalcolm@redhat.com>
1966 Concretize gimple_cond_make_{false|true}
1968 * gimple.h (gimple_cond_make_false): Require a gimple_cond.
1969 (gimple_cond_make_true): Likewise.
1971 * tree-cfg.c (fold_cond_expr_cond): Add a checked cast to
1972 gimple_cond within region guarded by check for GIMPLE_COND.
1973 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
1975 * tree-loop-distribution.c (generate_loops_for_partition): Replace
1976 a check for GIMPLE_COND with a dyn_cast<gimple_cond>.
1977 * tree-ssa-ccp.c (optimize_unreachable): Likewise.
1978 * tree-ssa-loop-niter.c (number_of_iterations_exit): Likewise.
1979 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1982 * tree-vrp.c (fold_predicate_in): Add a checked cast to
1983 gimple_cond. We must be dealing with a GIMPLE_COND since logic
1984 at top of the function ensures we only act on GIMPLE_ASSIGN and
1985 GIMPLE_COND statements, and we're now within a "not a GIMPLE_ASSIGN"
1988 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Add
1989 checked cast of elt->stmt to gimple_cond. The existing code requires
1990 this to be a GIMPLE_COND, though it's not clear to me how this
1991 requirement is enforced.
1992 (remove_redundant_iv_tests): Likewise.
1993 (try_unroll_loop_completely): Likewise, for the last_stmt of the
1994 preceding bb along edge_to_cancel.
1995 * tree-ssa-reassoc.c (maybe_optimize_range_tests): Likewise, for the
1998 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2000 Concretize locals within expand_omp_for_init_counts
2002 * omp-low.c (expand_omp_for_init_counts): Eliminate local "stmt"
2003 in favor of new locals "cond_stmt" and "assign_stmt" with more
2006 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2008 Make gimple_cond_set_{true|false}_label require gimple_cond.
2010 * gimple.h (gimple_cond_set_true_label): Require a gimple_cond.
2011 (gimple_cond_set_false_label): Likewise.
2013 * tree-cfg.c (make_cond_expr_edges): Convert "entry" from gimple to
2015 (cleanup_dead_labels): Introduce a checked cast to a gimple_cond within
2016 the GIMPLE_COND case.
2018 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2020 Concretize three gimple_return_ accessors
2022 * gimple.h (gimple_return_retval_ptr): Require a const_gimple_return
2023 rather than a const_gimple.
2024 (gimple_return_retval): Likewise.
2025 (gimple_return_set_retval): Require a gimple_return.
2027 * cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
2029 (expand_gimple_basic_block): Likewise.
2030 * tree-complex.c (expand_complex_move): Likewise.
2031 (expand_complex_comparison): Likewise.
2032 * tree-inline.c (remap_gimple_stmt): Likewise.
2033 * tree-sra.c (scan_function): Likewise.
2034 (sra_modify_function_body): Likewise.
2035 (ipa_sra_modify_function_body): Likewise.
2036 * tree-ssa-structalias.c (find_func_aliases): Likewise.
2038 * gimple-ssa-isolate-paths.c (isolate_path): Strengthen local
2039 "ret" from gimple to gimple_return.
2040 (find_implicit_erroneous_behaviour): Replace a check for code
2041 GIMPLE_RETURN with a dyn_cast and a new local.
2042 (find_explicit_erroneous_behaviour): Likewise.
2043 * gimple-walk.c (walk_stmt_load_store_addr_ops): Likewise.
2044 * gimple.c (infer_nonnull_range): Likewise.
2045 * ipa-split.c (find_return_bb): Likewise.
2046 (find_retval): Likewise.
2047 (split_function): Likewise.
2048 * omp-low.c (ipa_simd_modify_function_body): Likewise.
2049 * tree-cfg.c (pass_warn_function_return::execute): Likewise.
2050 * tree-nrv.c (tree_nrv): Likewise.
2051 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Likewise.
2052 * tree-ssa-dce.c (propagate_necessity): Likewise.
2053 * tree-ssa-structalias.c (find_func_clobbers): Likewise.
2054 * tree-tailcall.c (find_tail_calls): Likewise.
2056 * predict.c (apply_return_prediction): Rework the search for
2057 return_stmt so that the latter can have type gimple_return.
2059 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2061 Make gimple_phi_arg_location require a gimple_phi.
2063 * gimple.h (gimple_phi_arg_location): Require a gimple_phi.
2065 * tree-into-ssa.c (rewrite_update_phi_arguments): Replace a check
2066 for code GIMPLE_PHI with a dyn_cast and a new local.
2067 * tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
2069 * tree-ssa-live.c (remove_unused_locals): Replace a
2070 gimple_stmt_iterator with a gimple_phi_iterator, using it to make
2071 local "phi" be a gimple_phi.
2072 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
2074 * tree-ssa-phiopt.c (conditional_replacement): Require a gimple_phi.
2075 (single_non_singleton_phi_for_edges): Return a gimple_phi; update
2076 local to be a gimple_phi, adding checked casts since we're working
2077 on a sequence of gimple_phi.
2078 (conditional_replacement): Require a gimple_phi.
2080 * tree-ssa-threadupdate.c (get_value_locus_in_path): Strengthen
2081 type of local "def_phi" to gimple_phi by replacing a check of the
2082 code for GIMPLE_PHI with a dyn_cast<gimple_phi>.
2084 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2086 Make gimple_phi_arg_location_from_edge require a gimple_phi
2088 * gimple.h (gimple_phi_arg_location_from_edge): Require a
2091 * tree-parloops.c (create_parallel_loop): Split up local variable
2092 "stmt", introducing other locals for the various statements created
2093 by this function. Reuse "stmt" within the phi-handling code, and
2094 change to type gimple_phi, since this is the only remaining
2095 "non-phi" user of gimple_phi_arg_location_from_edge.
2097 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2099 Concretize three gimple_try_set_ accessors
2101 * gimple.c (gimple_copy): Add checked casts to gimple_try.
2103 * gimple.h (gimple_try_set_kind): Require a gimple_try.
2104 (gimple_try_set_eval): Likewise.
2105 (gimple_try_set_cleanup): Likewise.
2107 * tree-eh.c (optimize_double_finally): Require a pair of gimple_try
2109 (refactor_eh_r): Convert code comparisons to dynamic casts.
2111 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2113 Concretize gimple_try_set_catch_is_cleanup
2115 * gimple.h (gimple_try_set_catch_is_cleanup): Require a gimple_try.
2117 * gimplify.c (gimplify_expr): Convert local "try_" from a gimple
2120 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2122 Concretize gimple_eh_filter_set_types and gimple_eh_filter_set_failure
2124 * gimple.h (gimple_eh_filter_set_types): Require a gimple_eh_filter.
2125 (gimple_eh_filter_set_failure): Likewise.
2126 * gimple.c (gimple_copy): Add checked casts to gimple_eh_filter
2127 within GIMPLE_EH_FILTER case.
2129 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2131 Concretize gimple_label_label
2133 * gimple.h (gimple_label_label): Require a const_gimple_label
2134 rather than just a const_gimple.
2136 * cfgexpand.c (label_rtx_for_bb): Convert local from gimple to
2137 gimple_label, replacing a check against GIMPLE_LABEL with a
2138 dyn_cast<gimple_label>.
2139 * predict.c (tree_estimate_probability_bb): Likewise.
2140 * tree-cfg.c (make_edges): Likewise.
2141 (cleanup_dead_labels): Likewise (twice).
2142 (gimple_can_merge_blocks_p): Likewise.
2143 (gimple_block_label): Likewise.
2144 * tree-eh.c (unsplit_eh): Likewise.
2145 (cleanup_empty_eh_unsplit): Likewise.
2146 * tree-inline.c (mark_local_labels_stmt): Likewise.
2147 * tree-nested.c (convert_nl_goto_receiver): Likewise.
2149 * cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
2150 gimple_label when invoking gimple_label_label in a region where
2151 we've checked the code is GIMPLE_LABEL.
2152 * gimple-pretty-print.c (pp_cfg_jump): Likewise.
2153 * gimple.c (gimple_set_bb): Likewise.
2154 * ipa-pure-const.c (check_stmt): Likewise.
2155 * omp-low.c (diagnose_sb_1): Likewise.
2156 * tree-cfg.c (gimple_verify_flow_info): Likewise.
2157 * tree-cfgcleanup.c (tree_forwarder_block_p): Likewise.
2158 (remove_forwarder_block): Likewise.
2159 * tree-eh.c (collect_finally_tree): Likewise.
2161 * ipa-split.c (verify_non_ssa_vars): Replace a check against
2162 GIMPLE_LABEL with a dyn_cast<gimple_label>, introducing a
2164 * tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
2165 (gimple_merge_blocks): Likewise.
2166 (remove_bb): Likewise.
2167 (stmt_starts_bb_p): Likewise.
2168 (gimple_verify_flow_info): Likewise.
2169 (move_block_to_fn): Likewise.
2170 * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
2171 (remove_forwarder_block_with_phi): Likewise.
2172 * tree-ssa-ccp.c (optimize_unreachable): Likewise.
2174 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2176 Concretize gimple_call_use_set and gimple_call_clobber_set
2178 * gimple.h (gimple_call_use_set): Require a gimple_call.
2179 (gimple_call_clobber_set): Likewise.
2181 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2183 Concretize gimple_catch_types
2185 * gimple.h (gimple_catch_types): Require a const_gimple_catch
2186 rather than a const_gimple.
2188 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2190 Make gimple_goto_set_dest require a gimple_goto
2192 * gimple.h (gimple_goto_set_dest): Require a gimple_goto.
2194 * tree-cfg.c (factor_computed_gotos): Add checked cast to
2196 (cleanup_dead_labels): Likewise.
2198 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2200 Make gimple_label_set_label require a gimple_label
2202 * gimple.h (gimple_label_set_label): Require a gimple_label.
2204 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2206 Concretize parameter to gimple_call_copy_skip_args
2208 * gimple.c (gimple_call_copy_skip_args): Require a gimple_call.
2209 * gimple.h (gimple_call_copy_skip_args): Likewise.
2211 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2213 Various gimple to gimple_call conversions in IPA
2215 * ipa-prop.c (detect_type_change_from_memory_writes): Require a
2216 gimple_call rather than a plain gimple.
2217 (detect_type_change): Likewise.
2218 (detect_type_change_ssa): Likewise.
2219 (compute_complex_assign_jump_func): Likewise.
2220 (compute_complex_ancestor_jump_func): Likewise.
2221 (compute_known_type_jump_func): Likewise.
2222 (determine_locally_known_aggregate_parts): Likewise.
2223 (ipa_compute_jump_functions_for_edge): Strengthen local "call" to
2224 a gimple_call; add checked cast to gimple_phi.
2225 (ipa_note_param_call): Require a gimple_call rather than a plain
2227 (ipa_analyze_indirect_call_uses): Likewise.
2228 (ipa_analyze_virtual_call_uses): Likewise.
2229 (ipa_analyze_call_uses): Likewise.
2230 (ipa_analyze_stmt_uses):Add checked cast to gimple_call.
2232 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2233 Replace use of is_gimple_call with dyn_cast<gimple_call> and a
2234 new local "call_stmt".
2236 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2238 Use gimple_call for callgraph edges
2240 * cgraph.h (cgraph_edge::call_stmt): Strengthen field from plain
2241 gimple to a gimple_call.
2242 (cgraph_node::set_call_stmt_including_clones): Likewise for param
2244 (cgraph_node::create_edge): Likewise for param "call_stmt".
2245 (cgraph_node::create_indirect_edge): Likewise.
2246 (cgraph_node::create_edge_including_clones): Likewise for param
2248 (cgraph_edge::set_call_stmt): Likewise for param "new_stmt".
2249 (cgraph_edge::clone): Likewise for param "call_stmt".
2250 (symbol_table::create_edge): Likewise.
2252 * cgraph.c (cgraph_edge::set_call_stmt): Require a gimple_call
2253 rather than a plain gimple.
2254 (symbol_table::create_edge): Likewise.
2255 (cgraph_node::create_edge): Likewise.
2256 (cgraph_node::create_indirect_edge): Likewise.
2257 (cgraph_edge::redirect_call_stmt_to_callee): Strengthen local
2258 "new_stmt" from gimple to gimple_call.
2259 (cgraph_update_edges_for_call_stmt_node): Add checked casts to
2262 * cgraphbuild.c (pass_build_cgraph_edges::execute): Replace
2263 is_gimple_call with dyn_cast<gimple_call> and new local
2265 (cgraph_edge::rebuild_edges): Likewise.
2267 * cgraphclones.c (cgraph_edge::clone): Require a gimple_call
2268 rather than a plain gimple.
2269 (cgraph_node::set_call_stmt_including_clones): Likewise.
2270 (cgraph_node::create_edge_including_clones): Likewise.
2272 * lto-streamer-in.c (fixup_call_stmt_edges_1): Add checked casts
2275 * omp-low.c (simd_clone_adjust): Strengthen local "call" from
2276 gimple to gimple_call.
2278 * trans-mem.c (ipa_tm_insert_irr_call): Likewise for "g".
2279 (ipa_tm_insert_gettmclone_call): Likewise; also strengthen "g2"
2282 * tree-emutls.c (gen_emutls_addr): Strengthen local "x" from
2283 gimple to gimple_call.
2285 * tree-inline.c (copy_bb): Replace is_gimple_call with
2286 dyn_cast<gimple_call> and new local "call_stmt".
2288 * value-prof.c (gimple_ic): Require and return a gimple_call,
2289 rather than a plain gimple.
2290 * value-prof.h (gimple_ic): Likewise.
2292 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2294 Make gimple_call_return_slot_opt_p require a gimple_call.
2296 * gimple.h (gimple_call_return_slot_opt_p): Require a gimple_call
2297 rather than a plain gimple.
2299 * gimple-walk.c (walk_stmt_load_store_addr_ops): Convert usage of
2300 is_gimple_call to dyn_cast<gimple_call>, introducing a new local
2303 * trans-mem.c (expand_call_tm): Split local "stmt", strengthening
2304 from plain gimple to a gimple_call, and introducing new local
2305 gimple_assign "assign_stmt".
2307 * tree-inline.c (expand_call_inline): Convert check of code against
2308 GIMPLE_CALL to dyn_cast<gimple_call>, introducing a new local
2311 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2315 * gimple.h (gimple_phi_set_result): Require a gimple_phi rather
2316 than a plain gimple.
2317 (gimple_phi_set_arg): Likewise.
2319 * tree-outof-ssa.c (remove_gimple_phi_args): Likewise; add a checked
2322 * tree-sra.c (replace_removed_params_ssa_names): Add a checked
2325 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2327 Make gimple_phi_arg_edge require a gimple_phi
2329 * gimple.h (gimple_phi_arg_edge): Require a gimple_phi rather
2330 than a plain gimple.
2332 * gimple-ssa-strength-reduction.c (ncd_with_phi): Strengthen
2333 param "phi" from gimple to gimple_phi. Add a checked cast.
2334 (ncd_of_cand_and_phis): Add a checked cast.
2336 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Require a
2337 gimple_phi_iterator; strengthen local "phi" from gimple to a
2339 (rewrite_cross_bb_scalar_deps): Strengthen local "psi" from
2340 a gimple_stmt_iterator to a gimple_phi_iterator.
2341 (edge_initial_value_for_loop_phi): Require a gimple phi.
2342 (initial_value_for_loop_phi): Likewise.
2344 * ipa-split.c (consider_split): Convert "bsi" to a
2345 gimple_phi_iterator and "stmt" to a gimple_phi.
2347 * predict.c (predict_extra_loop_exits): Convert "phi_stmt" to be
2348 a gimple_phi; introduce "lhs_def_stmt" as plain gimple.
2349 (apply_return_prediction): Convert "phi" to be a gimple_phi.
2351 * tree-cfg.c (replace_uses_by): Add checked cast to gimple_phi.
2352 (verify_gimple_in_cfg): Introduce gimple_phi_iterator "gpi" and use
2353 it to convert "phi" to a gimple_phi.
2355 * tree-eh.c (cleanup_empty_eh_merge_phis): Convert "ngsi", "ogsi"
2356 to be gimple_phi_iterators. Convert "ophi", "nphi" to be
2359 * tree-into-ssa.c (prepare_use_sites_for): Add checked cast to
2362 * tree-ssa-coalesce.c (create_outofssa_var_map): Introduce
2363 gimple_phi_iterator "gpi" and use it to convert "phi" to a
2366 * tree-ssa-dce.c (propagate_necessity): Introduce local "phi",
2367 from checked cast to gimple_phi.
2369 * tree-ssa-live.c (set_var_live_on_entry): Add checked cast to
2372 * tree-ssa-propagate.c (replace_phi_args_in): Require a gimple_phi
2373 rather than a plain gimple.
2374 (substitute_and_fold_dom_walker::before_dom_children): Introduce
2375 gimple_phi_iterator "gpi".
2377 * tree-ssa-sink.c (find_bb_for_arg): Require a gimple_phi rather
2378 than a plain gimple.
2379 (nearest_common_dominator_of_uses): Replace check of code against
2380 GIMPLE_PHI with a dyn_cast<gimple_phi>, introducing a new local.
2381 (statement_sink_location): Add checked cast to gimple_phi.
2383 * tree-ssa-uninit.c (compute_uninit_opnds_pos): Require a
2384 gimple_phi rather than a plain gimple.
2385 (collect_phi_def_edges): Likewise. Add a checked cast.
2386 (find_def_preds): Strengthen param "phi" from gimple to
2388 (prune_uninit_phi_opnds_in_unrealizable_paths): Likewise for
2389 params "phi" and "flag_def". Strenghen param "visited_phis" from
2390 hash_set<gimple> * to hash_set<gimple_phi> *. Convert
2391 "flag_arg_def", "phi_arg_def" to gimple_phi using
2392 dyn_cast<gimple_phi>. Similarly, introduce new local
2394 (use_pred_not_overlap_with_undef_path_pred): Strengthen param
2395 "phi" from gimple to gimple_phi, and param "visited_phis" from
2396 hash_set<gimple> * to hash_set<gimple_phi> *. Add a checked cast.
2397 (is_use_properly_guarded): Likewise for params.
2398 (find_uninit_use): Replace check of code against GIMPLE_PHI with
2399 a dyn_cast<gimple_phi>, introducing a new local "use_phi".
2400 Strengthen local "visited_phis" from hash_set<gimple> to
2401 hash_set<gimple_phi>.
2403 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2405 Update GRAPHITE to use more concrete gimple statement classes
2407 * graphite-scop-detection.c (canonicalize_loop_closed_ssa):
2408 Strengthen local "psi" to be a gimple_phi_iterator and "phi" to
2411 * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Require
2412 a gimple_phi rathen than a plain gimple.
2413 (remove_simple_copy_phi): Require a gimple_phi_iterator;
2414 strengthen local "phi" to be a gimple_phi and "stmt" to be a
2416 (remove_invariant_phi): Likewise.
2417 (simple_copy_phi_p): Require a gimple_phi.
2418 (reduction_phi_p): Require a gimple_phi_iterator; strengthen
2419 local "phi" to be a gimple_phi.
2420 (add_condition_to_pbb): Require a gimple_cond rather than a
2422 (add_conditions_to_domain): Add checked cast to gimple_cond
2423 within GIMPLE_COND case of switch statement.
2424 (single_pred_cond_non_loop_exit): Return a gimple_cond rather
2425 than a plain gimple, via a checked cast.
2426 (sese_dom_walker::before_dom_children): Strengthen local "stmt"
2427 from gimple to gimple_cond.
2428 (gsi_for_phi_node): Require a gimple_phi, and return a
2429 gimple_phi_iterator.
2430 (insert_out_of_ssa_copy): Strengthen local "stmt" from gimple to
2432 (rewrite_reductions_out_of_ssa): Strengthen "psi" to be a
2433 gimple_phi_iterator, and "phi" to be a gimple_phi.
2434 (phi_contains_arg): Require a gimple_phi.
2435 (follow_ssa_with_commutative_ops): Strengthen return type from
2436 gimple to gimple_phi, by converting a check for code GIMPLE_PHI to
2437 a dyn_cast<gimple_phi>, and strengthening local "res" from gimple
2439 (detect_commutative_reduction_arg): Strengthen return type from
2440 gimple to gimple_phi, and strengthen local "phi" to be a
2442 (detect_commutative_reduction_assign): Strengthen return type from
2443 gimple to gimple_phi, and strengthen local "res" to be a
2445 (follow_inital_value_to_phi): Strengthen return type from
2446 gimple to gimple_phi. Replace check for code GIMPLE_PHI with
2447 a dyn_cast<gimple_phi>.
2448 (detect_commutative_reduction): Strengthen return type and locals
2449 "loop_phi", "phi", "close_phi" from gimple to gimple_phi,
2450 introducing a checked cast of "stmt" in region guarded by
2451 scalar_close_phi_node_p (stmt).
2452 (translate_scalar_reduction_to_array_for_stmt): Require param
2453 "loop_phi" to be a gimple_phi. Strengthen local "assign" from
2454 gimple to gimple_assign.
2455 (remove_phi): Require a gimple_phi.
2456 (close_phi_written_to_memory): Likewise.
2457 (translate_scalar_reduction_to_array): We expect the first element
2458 in each vector to be an arbitrary statement, but all of the
2459 subsequent elements to be phi nodes. Hence the decls of gimple
2460 locals "loop_phi" and "close_phi" are replaced with decls of gimple
2461 "loop_stmt" and "close_stmt", with decls of the more-strongly typed
2462 gimple_phi "loop_phi" and "close_phi" occurring lower down, within
2463 the region where we're dealing with i > 0 and hence where we can
2464 safely assign them using the checked cast as_a <gimple_phi>.
2465 This allows many of the strengthenings from gimple to gimple_phi
2466 above. We eliminate the local "stmt", since we can simply use
2468 (rewrite_commutative_reductions_out_of_ssa_close_phi): Strengthen
2469 param "close_phi" from gimple to gimple_phi, and local "gsi" from
2470 gimple_stmt_iterator to gimple_phi_iterator, converting uses of
2471 gsi_stmt to gsi.phi for type-safety.
2472 (scop_ivs_can_be_represented): Strengthen local "gsi" from
2473 gimple_stmt_iterator to gimple_phi_iterator, and "phi" from gimple
2476 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2478 Make gimple_phi_arg_set_location require a gimple_phi
2480 * gimple.h (gimple_phi_arg_set_location): Require a gimple_phi
2481 rather than a plain gimple.
2483 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2485 Make add_phi_arg require a gimple_phi
2487 * tree-phinodes.h (add_phi_arg): Require a gimple_phi rather than
2489 * tree-phinodes.c (add_phi_arg): Likewise.
2491 * gimple-ssa-strength-reduction.c (create_phi_basis): Strengthen
2492 local "phi" from plain gimple to gimple_phi.
2494 * graphite-scop-detection.c (canonicalize_loop_closed_ssa):
2495 Likewise for "close_phi".
2497 * ipa-split.c (split_function): Convert "psi" to
2498 gimple_phi_iterator.
2500 * omp-low.c (expand_omp_for_static_nochunk): Introduce
2501 gimple_phi_iterator gpi, using it to strengthen "phi" to be a
2503 (expand_omp_for_static_chunk): Likewise.
2505 * tree-cfg.c (gimple_duplicate_bb): Make topmost "gsi" decl more
2506 tightly-scoped, and eliminate decls "phis", "phi", "stmt", "copy"
2507 in favor of more tightly-scoped gimple_phi_iterator gpi and
2508 gimple_phi decls "phi" and "copy", and gimple decls "stmt" and
2511 * tree-parloops.c (create_parallel_loop): Introduce
2512 gimple_phi_iterator gpi, using it to strengthen "phi" to be a
2515 * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
2517 * tree-ssa-loop-manip.c (create_iv): Split out new gimple_phi
2518 local "phi" from "stmt", and convert the latter into being a
2521 * tree-ssa-pre.c (insert_into_preds_of_block): Strengthen local
2522 "phi" to be a gimple_phi.
2524 * tree-ssa-tail-merge.c (vop_phi): Require a gimple_phi rather
2525 than a plain gimple.
2526 (replace_block_by): Strengthen local "bb2_phi" to be a gimple_phi.
2528 * tree-tailcall.c (add_successor_phi_arg): Use gsi.phi when
2529 invoking add_phi_arg.
2530 (eliminate_tail_call): Introduce gimple_phi_iterator gpi, using it
2531 to strengthen "phi" to be a gimple_phi.
2532 (create_tailcall_accumulator): Strengthen local "phi" to be a
2534 (tree_optimize_tail_calls_1): Likewise.
2536 * tree-vect-data-refs.c (vect_setup_realignment): Strengthen
2537 local "phi_stmt" to be a gimple_phi.
2539 * tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
2540 Strengthen "gsi", "gsi_orig", "gsi_new" to be
2541 gimple_phi_iterators, and "phi" "orig_phi", "new_phi" to be
2542 gimple_phi instances.
2543 (slpeel_tree_peel_loop_to_edge): Strengthen local "new_phi" to be
2546 * tree-vect-loop.c (get_initial_def_for_induction): Likewise for
2548 (vect_create_epilog_for_reduction): Add checked casts to
2549 gimple_phi; strengthen local "outer_phi" to gimple_phi and
2550 "new_vec_stmt" to gimple_assign.
2551 (vect_finalize_reduction): Strengthen local "vect_phi" to
2553 (vectorizable_reduction): Likewise for "new_phi".
2555 * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
2556 (vectorizable_load): Likewise for "phi".
2558 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2560 Make gimple_phi_arg_def_ptr and gimple_phi_arg_has_location require a gimple_phi
2562 * gimple.h (gimple_phi_arg_def_ptr): Require a gimple_phi rather
2563 than a plain gimple.
2564 (gimple_phi_arg_has_location): Likewise.
2566 * gimple-streamer-in.c (input_phi): Return a gimple_phi rather
2567 than a plain gimple.
2568 * gimple-streamer-out.c (output_phi): Require a gimple_phi rather
2569 than a plain gimple.
2570 (output_bb): Convert iteration to a gimple_phi_iterator, and local
2571 "phi" to gimple_phi.
2573 * omp-low.c (expand_omp_for_static_chunk): Convert iterator "psi"
2574 to a gimple_phi_iterator; convert locals "phi" and "nphi" to be
2577 * tree-cfg.c (gimple_duplicate_sese_tail): Likewise for "psi" and
2579 (move_block_to_fn): Introduce new gimple_phi_iterator "psi", using
2580 it in place of "gsi" where necessary. Convert "phi" to be a
2583 * tree-cfgcleanup.c (remove_forwarder_block): Likewise.
2585 * tree-vect-loop-manip.c (vect_loop_versioning): Convert "gsi" to
2586 a gimple_phi_iterator, and "orig_phi" and "new_phi" to be
2589 * tree.c (find_decls_types_in_node): Introduce new
2590 gimple_phi_iterator "psi", using it in place of "si" where
2591 necessary. Convert "phi" to be a gimple_phi.
2593 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2595 omp-low.c: Use more concrete types of gimple statement for various locals
2597 * omp-low.c (finalize_task_copyfn): Strengthen local "bind" from
2598 plain gimple to gimple_bind.
2599 (lower_rec_input_clauses): Strengthen local "g" from
2600 plain gimple to gimple_assign.
2601 (lower_lastprivate_clauses): Likewise for "stmt" to gimple_cond
2602 and "g" to gimple_call.
2603 (expand_omp_for_init_vars): Likewise, for two decls of "stmt" to
2605 (expand_omp_atomic_pipeline): Likewise for one decl of "stmt".
2606 (expand_omp_atomic_mutex): Likewise.
2607 (lower_omp_master): Likewise for "x" to gimple_call.
2608 (lower_omp_ordered): Likewise.
2610 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2612 tree-parloops.c: Use gimple_phi in various places
2614 * tree-parloops.c (reduction_info::keep_res): Strengthen field
2615 from plain gimple to gimple_phi.
2616 (transform_to_exit_first_loop): Strengthen locals "phi", "nphi"
2617 to gimple_phi. Eliminate early decl of gimple_stmt_iterator gsi
2618 in favor of more tightly scoped gimple_phi_iterators, and a final
2619 later decl as a gimple_stmt_iterator.
2621 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2623 Introduce gimple_omp_sections
2625 * coretypes.h (gimple_omp_sections): New typedef.
2626 (const_gimple_omp_sections): New typedef.
2628 * gimple-pretty-print.c (dump_gimple_omp_sections): Require a
2629 gimple_omp_sections rather than a plain gimple.
2630 (pp_gimple_stmt_1): Add checked cast to gimple_omp_sections within
2631 GIMPLE_OMP_SECTIONS case of switch statement.
2633 * gimple.c (gimple_build_omp_sections): Return a
2634 gimple_omp_sections rather than a plain gimple.
2636 * gimple.h (gimple_build_omp_sections): Return a
2637 gimple_omp_sections rather than a plain gimple.
2639 * omp-low.c (scan_omp_sections): Require a gimple_omp_sections
2640 rather than a plain gimple.
2641 (scan_omp_1_stmt): Add checked cast to gimple_omp_sections within
2642 GIMPLE_OMP_SECTIONS case of switch statement.
2643 (expand_omp_sections): Strengthen local "sections_stmt" from gimple
2644 to gimple_omp_sections.
2645 (lower_omp_sections): Likewise for "stmt".
2647 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2649 Introduce gimple_omp_teams
2651 * coretypes.h (gimple_omp_teams): New typedef.
2652 (const_gimple_omp_teams): New typedef.
2654 * gimple.h (gimple_build_omp_teams): Return a gimple_omp_teams
2655 rather than a plain gimple.
2656 (gimple_omp_teams_set_clauses): Require a gimple_omp_teams rather
2657 than a plain gimple.
2659 * gimple-pretty-print.c (dump_gimple_omp_teams): Require a
2660 gimple_omp_teams rather than a plain gimple.
2661 (pp_gimple_stmt_1): Add checked cast to gimple_omp_teams within
2662 GIMPLE_OMP_TEAMS case of switch statement.
2664 * gimple.c (gimple_build_omp_teams): Return a gimple_omp_teams
2665 rather than a plain gimple.
2667 * omp-low.c (scan_omp_teams): Likewise.
2668 (scan_omp_1_stmt): Add checked cast to gimple_omp_teams within
2669 GIMPLE_OMP_TEAMS case of switch statement.
2670 (lower_omp_teams): Strengthen local "teams_stmt" from gimple to
2673 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2675 Introduce gimple_omp_target
2677 * coretypes.h (gimple_omp_target): New typedef.
2678 (const_gimple_omp_target): New typedef.
2680 * gimple.h (gimple_build_omp_target): Return a gimple_omp_target
2681 rather than a plain gimple.
2682 (gimple_omp_target_set_clauses): Require a gimple_omp_target
2683 rather than a plain gimple.
2684 (gimple_omp_target_set_kind): Likewise.
2685 (gimple_omp_target_child_fn_ptr): Likewise.
2686 (gimple_omp_target_set_child_fn): Likewise.
2687 (gimple_omp_target_data_arg_ptr): Likewise.
2688 (gimple_omp_target_set_data_arg): Likewise.
2689 (gimple_omp_target_child_fn): Require a const_gimple_omp_target
2690 rather than a plain const_gimple.
2691 (gimple_omp_target_data_arg): Likewise.
2693 * gimple-pretty-print.c (dump_gimple_omp_target): Require a
2694 gimple_omp_target rather than a plain gimple.
2695 (pp_gimple_stmt_1): Add checked cast to gimple_omp_target within
2696 GIMPLE_OMP_TARGET case of switch statement.
2698 * gimple.c (gimple_build_omp_target): Return a gimple_omp_target
2699 rather than a plain gimple.
2701 * gimplify.c (gimplify_omp_target_update): Strengthen local "stmt"
2702 from gimple to gimple_omp_target.
2704 * omp-low.c (scan_omp_target): Require a gimple_omp_target rather
2705 than a plain gimple.
2706 (scan_omp_1_stmt): Add checked cast to gimple_omp_target within
2707 GIMPLE_OMP_TARGET case of switch statement.
2708 (expand_omp_target): Strengthen local "entry_stmt" from gimple to
2710 (lower_omp_target): Likewise for "stmt".
2712 * tree-nested.c (convert_nonlocal_reference_stmt): Add checked
2713 cast to gimple_omp_target.
2714 (convert_local_reference_stmt): Likewise.
2715 (convert_gimple_call): Likewise.
2717 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2719 Introduce gimple_omp_single
2721 * coretypes.h (gimple_omp_single): New typedef.
2722 (const_gimple_omp_single): New typedef.
2724 * gimple.h (gimple_build_omp_single): Return a gimple_omp_single
2725 rather than a plain gimple.
2726 (gimple_omp_single_set_clauses): Require a gimple_omp_single
2727 rather than a plain gimple.
2729 * gimple-pretty-print.c (dump_gimple_omp_single): Require a
2730 gimple_omp_single rather than a plain gimple.
2731 (pp_gimple_stmt_1): Add checked cast to gimple_omp_single within
2732 GIMPLE_OMP_SINGLE case of switch statement.
2734 * gimple.c (gimple_build_omp_single): Return a gimple_omp_single
2735 rather than a plain gimple.
2737 * omp-low.c (scan_omp_single): Require a gimple_omp_single rather
2738 than a plain gimple.
2739 (scan_omp_1_stmt): Add checked cast to gimple_omp_single within
2740 GIMPLE_OMP_SINGLE case of switch statement.
2741 (lower_omp_single_simple): Require a gimple_omp_single rather
2742 than a plain gimple.
2743 (lower_omp_single_copy): Likewise.
2744 (lower_omp_single): Strengthen local "single_stmt" from gimple to
2747 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2749 Introduce gimple_omp_task
2751 * coretypes.h (gimple_omp_task): New typedef.
2752 (const_gimple_omp_task): New typedef.
2754 * gimple.h (gimple_build_omp_task): Return a gimple_omp_task
2755 rather than a plain gimple.
2757 * gimple-pretty-print.c (dump_gimple_omp_task): Require a
2758 gimple_omp_task rather than a plain gimple.
2759 (pp_gimple_stmt_1): Add checked cast to gimple_omp_task within
2760 GIMPLE_OMP_TASK case of switch statement.
2762 * gimple.c (gimple_build_omp_task): Return a gimple_omp_task
2763 rather than a plain gimple.
2765 * omp-low.c (finalize_task_copyfn): Require a gimple_omp_task
2766 rather than a plain gimple.
2767 (delete_omp_context): Add checked cast to gimple_omp_task.
2768 (scan_omp_task): Strengthen local "stmt" from gimple to
2770 (expand_task_call): Require a gimple_omp_task rather than a plain
2772 (expand_omp_taskreg): Add checked cast to gimple_omp_task.
2773 (create_task_copyfn): Require a gimple_omp_task rather than a
2775 (lower_omp_taskreg): Add checked cast to gimple_omp_task.
2777 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2779 tree-cfg.c: Make verify_gimple_call require a gimple_call
2781 * tree-cfg.c (verify_gimple_call): Require a gimple_call rather
2782 than a plain gimple.
2783 (verify_gimple_stmt): Add checked cast to gimple_call within
2784 GIMPLE_CALL case of switch statement.
2786 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2788 Introduce gimple_omp_parallel
2790 * coretypes.h (gimple_omp_parallel): New typedef.
2791 (const_gimple_omp_parallel): New typedef.
2793 * cgraphbuild.c (build_cgraph_edges): Convert check of code
2794 against GIMPLE_OMP_PARALLEL to a dyn_cast <gimple_omp_parallel>
2797 * gimple-pretty-print.c (dump_gimple_omp_parallel): Require a
2798 gimple_omp_parallel rather than a plain gimple.
2799 (pp_gimple_stmt_1): Add a checked cast to gimple_omp_parallel
2800 within GIMPLE_OMP_PARALLEL case of switch statement.
2802 * gimple-walk.c (walk_gimple_op): Likewise, introducing a local.
2804 * gimple.c (gimple_build_omp_parallel): Return a
2805 gimple_omp_parallel rather than a plain gimple.
2806 (gimple_copy): Add checked casts to gimple_omp_parallel within
2807 GIMPLE_OMP_PARALLEL case of switch statement, introducing locals.
2809 * gimple.h (gimple_build_omp_parallel): Return a
2810 gimple_omp_parallel rather than a plain gimple.
2811 (gimple_omp_parallel_clauses_ptr): Require a gimple_omp_parallel
2812 rather than a plain gimple.
2813 (gimple_omp_parallel_set_clauses): Likewise.
2814 (gimple_omp_parallel_data_arg_ptr): Likewise.
2815 (gimple_omp_parallel_set_data_arg): Likewise.
2816 (gimple_omp_parallel_child_fn_ptr): Likewise.
2817 (gimple_omp_parallel_set_child_fn): Likewise.
2818 (gimple_omp_parallel_child_fn): Require a
2819 const_gimple_omp_parallel rather than a plain const_gimple.
2820 (gimple_omp_parallel_data_arg): Likewise.
2822 * omp-low.c (scan_omp_parallel): Strengthen local "stmt" from
2823 gimple to gimple_omp_parallel.
2824 (expand_parallel_call): Require a gimple_omp_parallel for
2825 "entry_stmt" rather than a plain gimple.
2826 (remove_exit_barrier): Strengthen local "parallel_stmt" from
2827 gimple to gimple_omp_parallel.
2828 (expand_omp_taskreg): Add checked casts to gimple_omp_parallel.
2830 * tree-inline.c (remap_gimple_stmt): Add a checked cast to
2831 gimple_omp_parallel within GIMPLE_OMP_PARALLEL case of switch
2832 statement, introducing local.
2834 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2836 Introduce gimple_omp_for
2838 * coretypes.h (gimple_omp_for): New.
2839 (const_gimple_omp_for): New.
2841 * gimple.h (gimple_build_omp_for): Return a gimple_omp_for rather
2842 than a plain gimple.
2843 (gimple_omp_for_set_kind): Require a gimple_omp_for rather than a
2845 (gimple_omp_for_set_combined_p): Likewise.
2846 (gimple_omp_for_set_combined_into_p): Likewise.
2848 * gimple-pretty-print.c (dump_gimple_omp_for): Require a
2849 gimple_omp_for rather than a plain gimple.
2850 (pp_gimple_stmt_1): Add a checked cast to gimple_omp_for in
2851 GIMPLE_OMP_FOR case of switch statement.
2853 * gimple.c (gimple_build_omp_for): Return a gimple_omp_for rather
2854 than a plain gimple.
2855 (gimple_copy): Add a checked cast to gimple_omp_for and a new local.
2857 * gimplify.c (gimplify_omp_for): Strengthen local "gfor" from
2858 gimple to gimple_omp_for.
2860 * omp-low.c (omp_for_data::for_stmt): Strengthen field from gimple
2862 (extract_omp_for_data): Require a gimple_omp_for rather than a
2864 (workshare_safe_to_combine_p): Add a checked cast to
2866 (get_ws_args_for): Convert check of code against GIMPLE_OMP_FOR
2867 with a dyn_cast<gimple_omp_for> and a new local.
2868 (scan_omp_parallel): Add a checked cast to gimple_omp_for and a
2870 (scan_omp_for): Require a gimple_omp_for rather than a plain
2872 (scan_omp_1_stmt): Add a checked cast to gimple_omp_for in
2873 GIMPLE_OMP_FOR case of switch statement.
2874 (expand_omp_for): Add a checked cast to gimple_omp_for.
2875 (lower_omp_for): Strengthen local "stmt" from gimple to
2878 * tree-nested.c (walk_gimple_omp_for): Require a gimple_omp_for
2879 rather than a plain gimple.
2880 (convert_nonlocal_reference_stmt): Add a checked cast to
2881 gimple_omp_for in GIMPLE_OMP_FOR case of switch statement.
2882 (convert_local_reference_stmt): Likewise.
2884 * tree-parloops.c (create_parallel_loop): Strengthen local
2885 "for_stmt" from gimple to gimple_omp_for.
2887 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2889 Introduce gimple_omp_critical
2891 * coretypes.h (gimple_omp_critical): New typedef.
2892 (const_gimple_omp_critical): New typedef.
2894 * gimple-pretty-print.c (dump_gimple_omp_critical): Require a
2895 gimple_omp_critical rather than a plain gimple.
2896 (pp_gimple_stmt_1): Add a checked cast to gimple_omp_critical
2897 within GIMPLE_OMP_CRITICAL case of switch statement.
2899 * gimple-walk.c (walk_gimple_op): Likewise.
2901 * gimple.c (gimple_build_omp_critical): Return a gimple_omp_critical
2902 rather than a plain gimple.
2903 (gimple_copy): Add checked casts to gimple_omp_critical
2904 within GIMPLE_OMP_CRITICAL case of switch statement.
2906 * gimple.h (gimple_debug): Likewise.
2907 (gimple_build_omp_critical): Return a gimple_omp_critical rather
2908 than a plain gimple.
2909 (gimple_omp_critical_name): Require a const_gimple_omp_critical
2910 rather than a plain const_gimple.
2911 (gimple_omp_critical_name_ptr): Require a gimple_omp_critical
2912 rather than a plain gimple.
2913 (gimple_omp_critical_set_name): Likewise.
2915 * omp-low.c (check_omp_nesting_restrictions): Add a checked cast
2916 to gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
2917 statement, introducing a new local "other_crit" for type-safety.
2918 (lower_omp_critical): Strengthen local "stmt" to
2919 gimple_omp_critical.
2921 * tree-inline.c (remap_gimple_stmt): Add a checked cast to
2922 gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
2925 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2927 Introduce gimple_omp_continue
2929 * coretypes.h (gimple_omp_continue): New typedef.
2930 (const_gimple_omp_continue): New typedef.
2932 * gimple.h (gimple_build_omp_continue): Return a
2933 gimple_omp_continue rather than a plain gimple.
2934 (gimple_omp_continue_control_def): Require a
2935 const_gimple_omp_continue rather than a plain const_gimple.
2936 (gimple_omp_continue_control_use): Likewise.
2937 (gimple_omp_continue_control_def_ptr): Require a gimple_omp_continue
2938 rather than a plain gimple.
2939 (gimple_omp_continue_set_control_def): Likewise.
2940 (gimple_omp_continue_control_use_ptr): Likewise.
2941 (gimple_omp_continue_set_control_use): Likewise.
2943 * gimple-pretty-print.c (dump_gimple_omp_continue): Require a
2944 gimple_omp_continue rather than a plain gimple.
2945 (pp_gimple_stmt_1): Add a checked cast to gimple_omp_continue
2946 within GIMPLE_OMP_CONTINUE case of switch statement.
2948 * gimple-walk.c (walk_gimple_op): Likewise, adding a new local.
2950 * gimple.c (gimple_build_omp_continue): Return a
2951 gimple_omp_continue rather than a plain gimple.
2953 * omp-low.c (gimple_build_cond_empty): Return a gimple_cond
2954 rather than a plain gimple.
2955 (expand_omp_for_generic): Split local "stmt" into "assign_stmt",
2956 "cont_stmt", "cond_stmt", "call_stmt" of types gimple_assign,
2957 gimple_omp_continue, gimple_cond, gimple_call respectively.
2958 (expand_omp_for_static_nochunk): Likewise, splitting into two
2959 "cond_stmt" decls. "assign_stmt", "cont_stmt"
2960 (expand_omp_for_static_chunk): Likewise, splitting into
2961 "cond_stmt", "assign_stmt", "cont_stmt".
2962 (expand_omp_sections): Strengthen local "cont" from gimple to
2963 gimple_omp_continue.
2965 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2967 Introduce gimple_omp_atomic_store
2969 * coretypes.h (gimple_omp_atomic_store): New typedef.
2970 (const_gimple_omp_atomic_store): New typedef.
2972 * gimple-pretty-print.c (dump_gimple_omp_atomic_store): Require
2973 a gimple_omp_atomic_store rather than a plain gimple.
2974 (pp_gimple_stmt_1): Add checked cast to gimple_omp_atomic_store
2975 within GIMPLE_OMP_ATOMIC_STORE case of switch statement.
2976 * gimple-walk.c (walk_gimple_op): Likewise.
2978 * gimple.c (gimple_build_omp_atomic_store): Return a
2979 gimple_omp_atomic_store rather than a plain gimple.
2981 * gimple.h (gimple_build_omp_atomic_store): Return a
2982 gimple_omp_atomic_store rather than a plain gimple.
2983 (gimple_omp_atomic_store_set_val): Require a gimple_omp_atomic_store
2984 rather than a plain gimple.
2985 (gimple_omp_atomic_store_val_ptr): Likewise.
2986 (gimple_omp_atomic_store_val): Require a
2987 const_gimple_omp_atomic_store rather than a plain const_gimple.
2989 * gimplify.c (gimplify_omp_atomic): Strengthen locals "loadstmt" and
2990 "storestmt" from gimple to gimple_omp_atomic_load loadstmt and
2991 gimple_omp_atomic_store storestmt respectively.
2993 * omp-low.c (expand_omp_atomic): Strengthen local "store" from
2994 gimple to gimple_omp_atomic_store.
2996 2014-10-24 David Malcolm <dmalcolm@redhat.com>
2998 Introduce gimple_omp_atomic_load
3000 * coretypes.h (gimple_omp_atomic_load): New typedef.
3001 (const_gimple_omp_atomic_load): New typedef.
3003 * gimple-pretty-print.c (dump_gimple_omp_atomic_load): Require a
3004 gimple_omp_atomic_load rather than a plain gimple.
3005 (pp_gimple_stmt_1): Add a checked cast to gimple_omp_atomic_load
3006 within GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
3008 * gimple-walk.c (walk_gimple_op): Likewise, introducing a new local.
3010 * gimple.c (gimple_build_omp_atomic_load): Return a
3011 gimple_omp_atomic_load rather than a plain gimple.
3013 * gimple.h (gimple_build_omp_atomic_load): Return a
3014 gimple_omp_atomic_load rather than a plain gimple.
3015 (gimple_omp_atomic_load_set_lhs): Require a
3016 gimple_omp_atomic_load rather than a plain gimple.
3017 (gimple_omp_atomic_load_lhs_ptr): Likewise.
3018 (gimple_omp_atomic_load_set_rhs): Likewise.
3019 (gimple_omp_atomic_load_rhs_ptr): Likewise.
3020 (gimple_omp_atomic_load_lhs): Require a
3021 const_gimple_omp_atomic_load rather than a plain const_gimple.
3022 (gimple_omp_atomic_load_rhs): Likewise.
3024 * gimplify-me.c (gimple_regimplify_operands): Add a checked cast
3025 to gimple_omp_atomic_load within GIMPLE_OMP_ATOMIC_LOAD case of
3028 * omp-low.c (expand_omp_atomic): Strengthen type of local "load"
3029 from gimple to gimple_omp_atomic_load.
3030 (lower_omp_1): Add a checked cast to gimple_omp_atomic_load within
3031 GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
3033 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3035 Use more concrete types for various gimple statements
3037 * cgraphunit.c (thunk_adjust): Strengthen local "stmt" from gimple
3040 * gimple-ssa-isolate-paths.c
3041 (insert_trap_and_remove_trailing_statements): Strengthen local
3042 "new_stmt" from gimple to gimple_call.
3044 * gimple-ssa-strength-reduction.c (replace_mult_candidate):
3045 Strengthen local "copy_stmt" from gimple to gimple_assign.
3046 (create_add_on_incoming_edge): Likewise, for "new_stmt".
3047 (insert_initializers): Likewise, for "init_stmt".
3048 (introduce_cast_before_cand): Likewise, for "cast_stmt".
3049 (replace_one_candidate): Likewise, for "copy_stmt" and
3052 * gimplify.c (build_stack_save_restore): Require gimple_calls
3053 rather than plain gimples.
3054 (gimplify_bind_expr): Strengthen locals "stack_save" and
3055 "stack_restore" from gimple to gimple_call. Strengthen "gs"
3057 (gimplify_switch_expr): Strengthen local "gimple_switch" from
3058 gimple to gimple_switch, and "new_default" to gimple_label.
3059 (gimplify_cond_expr): Strengthen local "gimple_cond" from gimple
3061 (gimplify_init_constructor): Strengthen local "init" from gimple
3063 (gimplify_cleanup_point_expr): Strengthen local "gtry" from gimple
3065 (gimple_push_cleanup): Strengthen locals "ffalse" and "ftrue" from
3066 gimple to gimple_assign.
3068 * tree-eh.c (do_goto_redirection): Strengthen local to gimple_goto.
3069 (emit_post_landing_pad): Strengthen local to gimple_label.
3071 * tree-outof-ssa.c (insert_backedge_copies): Strengthen local
3072 "stmt" from gimple to gimple_assign.
3074 * tree-parloops.c (take_address_of): Likewise.
3076 * tree-predcom.c (replace_ref_with): Likewise, for "new_stmt".
3077 (initialize_root_vars_lm): Likewise, for "init_stmt".
3078 (reassociate_to_the_same_stmt): Likewise, for "new_stmt" and "tmp_stmt".
3080 * tree-profile.c (gimple_gen_edge_profiler): Likewise, for "stmt1",
3082 (gimple_gen_ic_profiler): Likewise.
3083 (gimple_gen_ic_func_profiler): Strengthen local "stmt1" from
3084 gimple to gimple_call, and "stmt2" to gimple_assign.
3086 * tree-scalar-evolution.c (scev_const_prop): Strengthen local
3087 "ass" from gimple to gimple_assign.
3089 * tree-sra.c (build_ref_for_offset): Likewise for "stmt".
3090 (generate_subtree_copies): Likewise; also strengthen "ds" to
3092 (init_subtree_with_zero): Likewise.
3093 (sra_modify_expr): Likewise.
3094 (load_assign_lhs_subreplacements): Likewise.
3095 (sra_modify_assign): Strengthen "ds" to gimple_debug.
3096 (sra_ipa_reset_debug_stmts): Likewise for "def_temp".
3098 * tree-ssa-ccp.c (insert_clobber_before_stack_restore):
3099 Strengthen local "clobber_stmt" from gimple to gimple_assign.
3101 * tree-ssa-dce.c (remove_dead_stmt): Strengthen "note" to
3104 * tree-ssa-dom.c (record_equivalences_from_stmt): Strengthen
3105 local "new_stmt" from gimple to gimple_assign.
3106 (optimize_stmt): Likewise.
3108 * tree-ssa-forwprop.c (simplify_bitwise_binary): Likewise for
3109 4 declarations of "newop".
3110 (simplify_rotate): Likewise for "g".
3112 * tree-ssa-loop-im.c (rewrite_reciprocal): Likewise for 3 locals.
3113 (rewrite_bittest): Likewise for "stmt" and "stmt2".
3114 (move_computations_dom_walker::before_dom_children): Likewise for
3116 (execute_sm): Likewise for "load" and "store".
3118 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts):
3119 Strengthen local "stmt" from gimple to gimple_call.
3120 (unloop_loops): Likewise.
3122 * tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Strengthen
3123 local "ass" from gimple to gimple_assign.
3124 (remove_unused_ivs): Strengthen "def_temp" to gimple_debug.
3126 * tree-ssa-loop-manip.c (rewrite_phi_with_iv): Strengthen local "stmt"
3127 from gimple to gimple_assign.
3129 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Strengthen local
3130 "prefetch" from gimple to gimple_call.
3132 * tree-ssa-math-opts.c (insert_reciprocals): Strengthen local
3133 "new_stmt" from gimple to gimple_assign.
3134 (powi_as_mults_1): Likewise for "mult_stmt".
3135 (powi_as_mults): Likewise for "div_stmt".
3136 (build_and_insert_binop): Likewise for "stmt".
3137 (build_and_insert_cast): Likewise.
3138 (pass_cse_sincos::execute): Likewise for "stmt" and various decls
3140 (convert_mult_to_fma): Likewise for "fma_stmt".
3142 * tree-ssa-phiopt.c (conditional_replacement): Likewise for "new_stmt".
3143 (abs_replacement): Likewise.
3145 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise for "tmp".
3147 * tree-ssa-pre.c (create_expression_by_pieces): Likewise for "newstmt".
3148 (eliminate_insert): Likewise for "tem".
3150 * tree-ssa-propagate.c (update_gimple_call): Strengthen locals
3151 "new_stmt" and "stmt" from gimple to gimple_call.
3152 (update_call_from_tree): Likewise for "new_stmt".
3154 * tree-ssa-reassoc.c (build_and_add_sum): Likewise for "sum".
3155 (update_ops): Likewise for "g".
3156 (maybe_optimize_range_tests): Likewise.
3157 (rewrite_expr_tree_parallel): Require a gimple_assign rather than
3159 (reassociate_bb): Add a checked cast to gimple_assign.
3161 * tree-ssa.c (insert_debug_temp_for_var_def): Strengthen local
3162 "def_temp" from gimple to gimple_debug.
3164 * tree-switch-conversion.c (emit_case_bit_tests): Strengthen local
3165 "shift_stmt" from gimple to gimple_assign.
3167 * tree-tailcall.c (adjust_return_value_with_ops): Likewise for
3169 (update_accumulator_with_ops): Likewise.
3171 * tree-vect-data-refs.c (bump_vector_ptr): Likewise for
3174 * tree-vect-stmts.c (vectorizable_condition): Likewise for
3177 * tree-vrp.c (build_assert_expr_for): Likewise for "assertion".
3178 (simplify_truth_ops_using_ranges): Likewise for "newop".
3179 (simplify_float_conversion_using_ranges): Likewise for "conv".
3181 * ubsan.c (instrument_mem_ref): Strengthen local "g" from gimple
3184 * value-prof.c (gimple_divmod_fixed_value): Require a
3185 gimple_assign rather than a plain gimple; strengthen types of locals.
3186 (gimple_mod_pow2): Likewise.
3187 (gimple_mod_subtract): Likewise.
3188 (gimple_divmod_fixed_value_transform): Strengthen local
3189 "stmt" from gimple to gimple_assign.
3190 (gimple_mod_pow2_value_transform): Likewise.
3191 (gimple_mod_subtract_transform): Likewise.
3192 (gimple_ic): Strengthen types of locals.
3194 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3196 Introduce gimple_try
3198 * coretypes.h (gimple_try): New typedef.
3199 (const_gimple_try): New typedef.
3201 * gimple-low.c (gimple_try_catch_may_fallthru): Require a
3202 gimple_try rather than a plain gimple.
3203 (gimple_stmt_may_fallthru): Add checked cast to gimple_try.
3205 * gimple-pretty-print.c (dump_gimple_try): Require a gimple_try
3206 rather than a plain gimple.
3207 (pp_gimple_stmt_1): Add checked cast to gimple_try within
3208 GIMPLE_TRY case of switch statement.
3210 * tree-eh.c (finally_tree_node::parent): Strengthen field from
3211 gimple to gimple_try.
3212 (record_in_finally_tree): Require a gimple_try rather than a plain
3214 (collect_finally_tree): Likewise.
3215 (collect_finally_tree_1): Likewise.
3216 (struct leh_tf_state::try_finally_expr): Strengthen field from
3217 gimple to gimple_try.
3218 (struct leh_tf_state::top_p): Likewise.
3219 (lower_eh_must_not_throw): Require a gimple_try rather than a
3221 (frob_into_branch_around): Likewise.
3222 (lower_try_finally_dup_block): Strengthen local from gimple to
3224 (honor_protect_cleanup_actions): Split out uses of "x" into new
3225 locals "eh_mnt" and "try_stmt" with stronger types.
3226 (lower_try_finally): Require a gimple_try rather than a plain
3228 (lower_catch): Likewise.
3229 (lower_eh_filter): Likewise.
3230 (lower_eh_must_not_throw): Likewise.
3231 (lower_cleanup): Likewise.
3232 (lower_eh_constructs_2): Add checked cast to gimple_try within
3233 GIMPLE_TRY case of switch statement, introducing new local
3234 "try_stmt", using it for type-safety.
3236 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3238 Use subclasses of gimple in various places
3240 * asan.c (insert_if_then_before_iter): Require a gimple cond
3241 rathern than a plain gimple.
3242 (asan_expand_check_ifn): Add a checked cast to gimple_cond.
3244 * cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
3246 * omp-low.c (simd_clone_adjust): Strengthen local from gimple
3249 * sese.c (set_ifsese_condition): Strengthen local from gimple to
3252 * tree-call-cdce.c (gen_one_condition): Strengthen locals from
3253 gimple to gimple_assign and gimple_cond.
3255 * tree-ssa-phiopt.c (minmax_replacement): Likewise.
3256 (cond_store_replacement): Strengthen locals from gimple to
3257 gimple_phi and gimple_assign.
3258 (cond_if_else_store_replacement_1): Likewise.
3260 * tree-ssa-pre.c (do_regular_insertion): Strengthen local from
3261 gimple to gimple_assign.
3263 * tree-switch-conversion.c (hoist_edge_and_branch_if_true):
3264 Strengthen local from gimple to gimple_cond.
3265 (gen_def_assigns): Return a gimple_assign rather than a plain
3267 (gen_inbound_check): Strengthen locals from gimple to gimple_cond
3270 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Strengthen local
3271 from gimple to gimple_cond.
3272 (set_prologue_iterations): Strengthen locals from gimple to
3273 gimple_phi and gimple_cond.
3275 * value-prof.c (gimple_ic): Strengthen local from gimple to
3277 (gimple_stringop_fixed_value): Strengthen locals from gimple to
3278 gimple_assign, gimple_cond, gimple_call, and gimple_phi.
3280 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3282 Introduce gimple_eh_dispatch
3284 * coretypes.h (gimple_eh_dispatch): New typedef.
3285 (const_gimple_eh_dispatch): New typedef.
3287 * gimple-pretty-print.c (dump_gimple_eh_dispatch): Require a
3288 gimple_eh_dispatch rather than a plain gimple.
3289 (pp_gimple_stmt_1): Add a checked cast to gimple_eh_dispatch
3290 within GIMPLE_EH_DISPATCH case of switch statement.
3292 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3294 * gimple-streamer-out.c (output_gimple_stmt): Likewise.
3296 * gimple.c (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
3297 rather than a plain gimple.
3299 * gimple.h (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
3300 rather than a plain gimple.
3301 (gimple_eh_dispatch_region): Require a const_gimple_eh_dispatch
3302 rather than a plain const_gimple.
3303 (gimple_eh_dispatch_set_region): Require a gimple_eh_dispatch
3304 rather than a plain gimple.
3306 * tree-cfg.c (make_edges): Add a checked cast to gimple_eh_dispatch
3307 within GIMPLE_EH_DISPATCH case of switch statement.
3308 (gimple_verify_flow_info): Likewise.
3309 (gimple_redirect_edge_and_branch): Likewise.
3310 (move_stmt_r): Likewise, adding a local.
3312 * tree-eh.c (emit_eh_dispatch): Convert local from gimple to
3314 (make_eh_dispatch_edges): Require a gimple_eh_dispatch rather than
3316 (redirect_eh_dispatch_edge): Likewise.
3317 (lower_eh_dispatch): Likewise.
3318 (execute_lower_eh_dispatch): Add a checked cast to
3320 (mark_reachable_handlers): Likewise.
3321 (verify_eh_dispatch_edge): Require a gimple_eh_dispatch rather
3322 than a plain gimple.
3324 * tree-eh.h (make_eh_dispatch_edges): Likewise.
3325 (redirect_eh_dispatch_edge): Likewise.
3326 (verify_eh_dispatch_edge): Likewise.
3328 * tree-inline.c (remap_gimple_stmt): Add a checked cast to
3329 gimple_eh_dispatch within GIMPLE_EH_DISPATCH case of switch
3330 statement, adding a local.
3331 (copy_edges_for_bb): Add a checked cast to gimple_eh_dispatch.
3333 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3335 Introduce gimple_resx
3337 * coretypes.h (gimple_resx): New typedef.
3338 (const_gimple_resx): New typedef.
3340 * gimple.h (gimple_build_resx): Return a gimple_resx rather than a
3342 (gimple_resx_region): Require a const_gimple_resx rather than a
3344 (gimple_resx_set_region): Require a gimple_resx rather than a
3347 * gimple-pretty-print.c (dump_gimple_resx): Require a gimple_resx
3348 rather than a plain gimple.
3349 (pp_gimple_stmt_1): Add a checked cast to gimple_resx within
3350 GIMPLE_RESX case of switch statement.
3352 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3354 * gimple-streamer-out.c (output_gimple_stmt): Likewise.
3356 * gimple.c (gimple_build_resx): Return a gimple_resx rather than
3359 * tree-cfg.c (move_stmt_r): Add a checked cast to gimple_resx
3360 within GIMPLE_RESX case of switch statement, adding a new local.
3362 * tree-eh.c (emit_resx): Convert local "x" from gimple to
3364 (lower_resx): Require a gimple_resx rather than a plain gimple.
3365 (pass_lower_resx::execute): Add a checked cast to gimple_resx.
3366 (mark_reachable_handlers): Likewise.
3368 * tree-inline.c (remap_gimple_stmt): Add a checked cast to
3369 gimple_resx within GIMPLE_RESX case of switch statement, adding
3372 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3374 Introduce gimple_eh_else
3376 * coretypes.h (gimple_eh_else): New typedef.
3377 (const_gimple_eh_else): New typedef.
3379 * gimple.h (gimple_build_eh_else): Return a gimple_eh_else rather
3380 than a plain gimple.
3381 (gimple_eh_else_n_body_ptr): Require a gimple_eh_else rather than
3383 (gimple_eh_else_n_body): Likewise.
3384 (gimple_eh_else_e_body_ptr): Likewise.
3385 (gimple_eh_else_e_body): Likewise.
3386 (gimple_eh_else_set_n_body): Likewise.
3387 (gimple_eh_else_set_e_body): Likewise.
3389 * gimple-low.c (lower_stmt): Add checked cast to gimple_eh_else
3390 within GIMPLE_EH_ELSE case of switch statement, introducing a new
3392 (gimple_stmt_may_fallthru): Likewise.
3394 * gimple-pretty-print.c (dump_gimple_eh_else): Require a
3395 gimple_eh_else rather than a plain gimple.
3396 (pp_gimple_stmt_1): Add checked cast to gimple_eh_else within
3397 GIMPLE_EH_ELSE case of switch statement
3399 * gimple-walk.c (walk_gimple_stmt): Add checked cast to
3400 gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
3401 introducing a new local.
3403 * gimple.c (gimple_build_eh_else): Return a gimple_eh_else
3404 rather than a plain gimple.
3405 (gimple_copy): Add checked casts to gimple_eh_else within
3406 GIMPLE_EH_ELSE case of switch statement, introducing new locals.
3408 * tree-cfg.c (verify_gimple_in_seq_2): Add checked cast to
3409 gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
3410 introducing a new local.
3412 * tree-eh.c (collect_finally_tree): Likewise.
3413 (replace_goto_queue_1): Likewise.
3414 (get_eh_else): Return a gimple_eh_else rather than a plain gimple.
3415 (honor_protect_cleanup_actions): Convert local "eh_else" from
3416 gimple to gimple_eh_else.
3417 (lower_try_finally_nofallthru): Likewise.
3418 (lower_try_finally_onedest): Introduce locals "eh_else" and
3419 "label_stmt", using them in favor of "x" for the gimple_eh_else
3420 and the gimple_label.
3421 (lower_try_finally_copy): Convert local "eh_else" from gimple to
3423 (lower_try_finally_switch): Likewise.
3424 (decide_copy_try_finally): Likewise.
3425 (refactor_eh_r): Add checked cast to gimple_eh_else within
3426 GIMPLE_EH_ELSE case of switch statement, introducing a new local.
3428 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3430 Introduce gimple_eh_must_not_throw
3432 * coretypes.h (gimple_eh_must_not_throw): New typedef.
3433 (const_gimple_eh_must_not_throw): New typedef.
3435 * gimple-pretty-print.c (dump_gimple_eh_must_not_throw): Require
3436 a gimple_eh_must_not_throw rather than a plain gimple.
3437 (pp_gimple_stmt_1): Add a checked cast to gimple_eh_must_not_throw
3438 within GIMPLE_EH_MUST_NOT_THROW case of switch statement.
3440 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3442 * gimple-streamer-out.c (output_gimple_stmt): Likewise.
3444 * gimple.c (gimple_build_eh_must_not_throw): Return a
3445 gimple_eh_must_not_throw rather than a plain gimple.
3447 * gimple.h (gimple_build_eh_must_not_throw): Return a
3448 gimple_eh_must_not_throw rather than a plain gimple.
3449 (gimple_eh_must_not_throw_fndecl): Require a
3450 gimple_eh_must_not_throw rather than a plain gimple.
3451 (gimple_eh_must_not_throw_set_fndecl): Likewise.
3453 * tree-eh.c (lower_eh_must_not_throw): Add checked cast.
3455 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3457 Introduce gimple_eh_filter
3459 * coretypes.h (gimple_eh_filter): New typedef.
3460 (const_gimple_eh_filter): New typedef.
3462 * gimple.h (gimple_build_eh_filter): Return a gimple_eh_filter
3463 rather than a plain gimple.
3465 * gimple-pretty-print.c (dump_gimple_eh_filter): Require a
3466 gimple_eh_filter rather than a plain gimple.
3467 (pp_gimple_stmt_1): Add checked cast to gimple_eh_filter within
3468 GIMPLE_EH_FILTER case of switch statement.
3470 * gimple.c (gimple_build_eh_filter): Return a gimple_eh_filter
3471 rather than a plain gimple.
3473 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3475 Introduce gimple_catch
3477 * coretypes.h (gimple_catch): New typedef.
3478 (const_gimple_catch): New typedef.
3480 * gimple-low.c (lower_try_catch): Add checked cast to gimple_catch.
3481 (gimple_try_catch_may_fallthru): Likewise.
3483 * gimple-pretty-print.c (dump_gimple_catch): Require a gimple_catch
3484 rather than a plain gimple.
3485 (pp_gimple_stmt_1): Add checked cast to gimple_catch within
3486 GIMPLE_CATCH case of switch statement.
3488 * gimple-walk.c (walk_gimple_op): Likewise.
3489 (walk_gimple_stmt): Likewise.
3491 * gimple.c (gimple_build_catch): Return a gimple_catch rather than
3493 (gimple_copy): Add checked casts to gimple_catch within
3494 GIMPLE_CATCH case of switch statement, introducing new locals.
3496 * gimple.h (gimple_build_catch): Return a gimple_catch rather than
3498 (gimple_catch_types_ptr): Require a gimple_catch rather than a
3500 (gimple_catch_handler_ptr): Likewise.
3501 (gimple_catch_handler): Likewise.
3502 (gimple_catch_set_types): Likewise.
3503 (gimple_catch_set_handler): Likewise.
3505 * omp-low.c (lower_omp_1): Add checked cast to gimple_catch within
3506 GIMPLE_CATCH case of switch statement.
3508 * tree-cfg.c (verify_gimple_in_seq_2): Likewise.
3509 (do_warn_unused_result): Likewise.
3511 * tree-eh.c (collect_finally_tree): Likewise.
3512 (replace_goto_queue_1): Likewise.
3513 (lower_catch): Convert local from gimple to gimple_catch.
3514 (refactor_eh_r): Add checked cast to gimple_catch within
3515 GIMPLE_CATCH case of switch statement.
3517 * tree-inline.c (remap_gimple_stmt): Likewise.
3518 (estimate_num_insns): Add checked cast to gimple_catch within
3519 GIMPLE_CATCH case of switch statement, introducing new local.
3521 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3523 Introduce gimple_transaction
3525 * coretypes.h (gimple_transaction): New typedef.
3526 (const_gimple_transaction): New typedef.
3528 * gimple.h (gimple_build_transaction): Return a gimple_transaction
3529 rather than a plain gimple.
3530 (gimple_transaction_body_ptr): Require a gimple_transaction rather
3531 than a plain gimple.
3532 (gimple_transaction_body): Likewise.
3533 (gimple_transaction_label_ptr): Likewise.
3534 (gimple_transaction_set_body): Likewise.
3535 (gimple_transaction_set_label): Likewise.
3536 (gimple_transaction_set_subcode): Likewise.
3537 (gimple_transaction_label): Require a const_gimple_transaction
3538 rather than a plain const_gimple.
3539 (gimple_transaction_subcode): Likewise.
3541 * gimple-low.c (lower_stmt): Add checked cast to
3542 gimple_transaction within GIMPLE_TRANSACTION case of switch
3545 * gimple-pretty-print.c (dump_gimple_transaction): Require a
3546 gimple_transaction rather than a plain gimple.
3547 (pp_gimple_stmt_1): Add checked cast to gimple_transaction within
3548 GIMPLE_TRANSACTION case of switch statement.
3549 * gimple-streamer-in.c (input_gimple_stmt): Likewise.
3550 * gimple-streamer-out.c (output_gimple_stmt): Likewise.
3551 * gimple-walk.c (walk_gimple_op): Likewise.
3552 (walk_gimple_stmt): Likewise.
3554 * gimple.c (gimple_build_transaction): Return a gimple_transaction
3555 rather than a plain gimple.
3556 (gimple_copy): Add checked casts to gimple_transaction within
3557 GIMPLE_TRANSACTION case of switch statement.
3559 * gimplify.c (gimplify_transaction): Split local "g" into
3560 "body_stmt" and "trans_stmt", strengthening the type of the latter
3561 from gimple to gimple_transaction.
3563 * omp-low.c (lower_omp_1): Add checked cast to gimple_transaction
3564 within GIMPLE_TRANSACTION case of switch statement.
3566 * trans-mem.c (diagnose_tm_1): Add checked cast within
3567 GIMPLE_TRANSACTION case of switch statement, introducing a new
3568 local "trans_stmt". Use it in place of "stmt".
3569 (examine_call_tm): Convert local from gimple to gimple_transaction.
3570 (tm_region::get_transaction_stmt): New method.
3571 (tm_region::transaction_stmt): Add clarification of type to the
3573 (tm_region_init_0): Require a gimple_transaction rather than a
3575 (tm_region_init): Convert a check against GIMPLE_TRANSACTION to a
3576 dyn_cast<gimple_transaction> and new local.
3577 (transaction_subcode_ior): Add a new local, using the new
3578 get_transaction_stmt method to perform a checked cast.
3579 (propagate_tm_flags_out): Likewise.
3580 (expand_transaction): Add a checked cast using the new
3581 get_transaction_stmt method.
3582 (generate_tm_state): Likewise.
3583 (execute_tm_mark): Likewise.
3584 (ipa_tm_diagnose_transaction): Likewise.
3586 * tree-cfg.c (verify_gimple_transaction): Require a
3587 gimple_transaction rather than a plain gimple.
3588 (make_edges): Add checked cast within GIMPLE_TRANSACTION case of
3590 (cleanup_dead_labels): Likewise.
3591 (verify_gimple_stmt): Likewise.
3592 (verify_gimple_in_seq_2): Likewise.
3593 (verify_gimple_in_seq_2): Likewise.
3594 (gimple_redirect_edge_and_branch): Add checked cast.
3596 * tree-inline.c (remap_gimple_stmt): Add checked cast within
3597 GIMPLE_TRANSACTION case of switch statement, introducing a new
3598 local "old_trans_stmt". Use it in place of "stmt". Add new
3599 local "new_trans_stmt", using it to initialize "copy", and for
3600 type-safe operations as a transaction.
3601 (estimate_num_insns): Add checked cast within GIMPLE_TRANSACTION
3602 case of switch statement.
3604 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3606 Introduce gimple_asm
3608 * coretypes.h (gimple_asm): New typedef.
3609 (const_gimple_asm): New typedef.
3611 * gimple.h (gimple_build_asm_vec): Return a gimple_asm rather than
3613 (gimple_asm_clobbers_memory_p): Require a const_gimple_asm rather
3614 than just a const_gimple.
3615 (gimple_asm_ninputs): Likewise.
3616 (gimple_asm_noutputs): Likewise.
3617 (gimple_asm_nclobbers): Likewise.
3618 (gimple_asm_nlabels): Likewise.
3619 (gimple_asm_input_op): Likewise.
3620 (gimple_asm_input_op_ptr): Likewise.
3621 (gimple_asm_output_op): Likewise.
3622 (gimple_asm_output_op_ptr): Likewise.
3623 (gimple_asm_clobber_op): Likewise.
3624 (gimple_asm_label_op): Likewise.
3625 (gimple_asm_string): Likewise.
3626 (gimple_asm_volatile_p): Likewise.
3627 (gimple_asm_input_p): Likewise.
3628 (gimple_asm_set_input_op): Require a gimple_asm rather than a plain
3630 (gimple_asm_set_output_op): Likewise.
3631 (gimple_asm_set_clobber_op): Likewise.
3632 (gimple_asm_set_label_op): Likewise.
3633 (gimple_asm_set_volatile): Likewise.
3634 (gimple_asm_set_input): Likewise.
3636 * cfgexpand.c (expand_asm_stmt): Require a gimple_asm rather than
3638 (expand_gimple_stmt_1): Add checked cast to gimple_asm within
3639 GIMPLE_ASM case of switch statement.
3641 * gimple-fold.c (fold_stmt_1): Add new local from checked cast to
3642 gimple_asm within case GIMPLE_ASM.
3644 * gimple-pretty-print.c (dump_gimple_asm): Require a gimple_asm
3645 rather than a plain gimple.
3646 (pp_gimple_stmt_1): Add checked cast to gimple_asm within
3647 GIMPLE_ASM case of switch statement.
3649 * gimple-streamer-in.c (input_gimple_stmt): Rework existing
3650 checked cast to gimple_asm; add a new one.
3652 * gimple-streamer-out.c (output_gimple_stmt): Add new local from
3653 checked cast to gimple_asm within case GIMPLE_ASM.
3655 * gimple-walk.c (walk_gimple_asm): Require a gimple_asm rather
3656 than a plain gimple.
3657 (walk_gimple_op): Add checked cast to gimple_asm within GIMPLE_ASM
3658 case of switch statement.
3659 (walk_stmt_load_store_addr_ops): Use dyn_cast<gimple_asm> in place
3660 of a code check against GIMPLE_ASM to introduce a new gimple_asm
3663 * gimple.c (gimple_build_asm_1): Return a gimple_asm rather than
3665 (gimple_build_asm_vec): Likewise.
3666 (gimple_has_side_effects): Add a checked cast to gimple_asm.
3667 (gimple_could_trap_p_1): Likewise.
3668 (gimple_call_builtin_p): Require a const_gimple_asm rather then
3671 * gimplify-me.c (gimple_regimplify_operands): Add a checked cast
3672 and a new local of type gimple_asm within GIMPLE_ASM case.
3674 * gimplify.c (gimplify_asm_expr): Convert a local from gimple to
3677 * ipa-pure-const.c (check_stmt): Add checked casts within
3680 * ssa-iterators.h (op_iter_init): Likewise.
3682 * tree-cfg.c (make_goto_expr_edges): Convert a local from gimple
3684 (cleanup_dead_labels): Add a checked cast and a new local of type
3685 gimple_asm within GIMPLE_ASM case.
3686 (gimple_redirect_edge_and_branch): Likewise.
3687 (is_ctrl_altering_stmt): Add a checked cast.
3688 (need_fake_edge_p): Replace a code check against GIMPLE_ASM with a
3689 dyn_cast<gimple_asm>.
3691 * tree-complex.c (expand_complex_comparison): Convert a local from
3692 gimple to gimple_asm.
3694 * tree-data-ref.c (get_references_in_stmt): Add a checked cast to
3697 * tree-eh.c (stmt_could_throw_p): Likewise.
3699 * tree-inline.c (estimate_num_insns): Likewise.
3701 * tree-sra.c (scan_function): Add a checked cast and a new local
3702 of type gimple_asm within GIMPLE_ASM case.
3703 (sra_modify_function_body): Likewise.
3704 (ipa_sra_modify_function_body): Likewise.
3706 * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
3708 * tree-ssa-dce.c (propagate_necessity): Replace a code check
3709 against GIMPLE_ASM with a dyn_cast<gimple_asm>.
3711 * tree-ssa-operands.c (maybe_add_call_vops): Require a gimple_asm
3712 rather than a plain gimple.
3713 (parse_ssa_operands): Add a checked cast to gimple_asm.
3715 * tree-ssa-structalias.c (find_func_aliases): Replace a check for
3716 GIMPLE_ASM with a dyn_cast<gimple_asm>, introducing a new local
3717 "asm_stmt", using it in place of "t" for typesafety.
3719 * tree-ssa-threadedge.c
3720 (record_temporary_equivalences_from_stmts_at_dest): Add a checked
3723 * tree-ssa.c (execute_update_addresses_taken): Add checked casts
3724 and new locals of type gimple_asm within clauses guarded by code
3727 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3729 Introduce gimple_goto
3731 * coretypes.h (gimple_goto): New typedef.
3732 (const_gimple_goto): New typedef.
3734 * gimple.h (gimple_statement_goto): New subclass of
3735 gimple_statement_with_ops, adding the invariant that
3736 stmt->code == GIMPLE_GOTO.
3737 (is_a_helper <gimple_statement_goto>::test): New.
3738 (gimple_build_goto): Return a gimple_goto rather than a
3741 * gimple-pretty-print.c (dump_gimple_goto): Require a gimple_goto
3742 rather than a plain gimple.
3743 (pp_gimple_stmt_1): Add a checked cast to gimple_goto within
3744 GIMPLE_GOTO case of switch statement.
3746 * gimple.c (gimple_build_goto): Return a gimple_goto rather than a
3749 * tree-cfg.c (verify_gimple_goto): Require a gimple_goto rather
3750 than a plain gimple.
3751 (verify_gimple_stmt): Add a checked cast to gimple_goto within
3752 GIMPLE_GOTO case of switch statement.
3754 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3756 Introduce gimple_return
3758 * coretypes.h (gimple_return): New typedef.
3759 (const_gimple_return): New typedef.
3761 * gimple.h (gimple_statement_return): New subclass of
3762 gimple_statement_with_memory_ops, adding the invariant that
3763 stmt->code == GIMPLE_RETURN.
3764 (is_a_helper <gimple_statement_return>::test): New.
3765 (gimple_build_return): Return a gimple_return rather
3766 than a plain gimple.
3768 * gimple.c (gimple_build_return): Return a gimple_return rather
3769 than a plain gimple.
3771 * cgraphunit.c (expand_thunk): Convert local from a gimple to
3774 * gimple-low.c (struct return_statements_t): Convert field "stmt"
3775 from a gimple to a gimple_return.
3776 (lower_gimple_return): Convert local from a gimple to a
3779 * gimple-pretty-print.c (dump_gimple_return): Require a
3780 gimple_return rather than a plain gimple.
3781 (pp_gimple_stmt_1): Add a checked cast to gimple_return within
3782 case GIMPLE_RETURN of switch statement.
3784 * gimplify.c (gimplify_return_expr): Convert locals from
3785 gimple to gimple_return.
3787 * ipa-split.c (split_function): Likewise.
3789 * tree-cfg.c (verify_gimple_assign): Require a gimple_return
3790 rather than a plain gimple.
3791 (verify_gimple_stmt): Add checked cast to gimple_return within
3792 case GIMPLE_RETURN of switch statement.
3794 * tree-tailcall.c (adjust_return_value): Convert local from
3795 gimple to gimple_return.
3797 2014-10-24 David Malcolm <dmalcolm@redhat.com>
3799 Introduce gimple_call
3801 * coretypes.h (gimple_call): New typedef.
3802 (const_gimple_call): New typedef.
3804 * asan.c (get_mem_refs_of_builtin_call): Require a
3805 const_gimple_call rather than a const gimple.
3806 (has_stmt_been_instrumented_p): Add a checked cast to
3808 (instrument_strlen_call): Likewise.
3809 (instrument_builtin_call): Likewise.
3810 * builtins.c (validate_gimple_arglist): Require a
3811 const_gimple_call rather than a const gimple.
3812 (fold_call_stmt): Require a gimple_call rather than a gimple.
3813 * builtins.h (validate_gimple_arglist): Require a
3814 const_gimple_call rather than a const gimple.
3815 (fold_call_stmt): Require a gimple_call rather than a gimple.
3816 * cfgexpand.c (expand_call_stmt): Likewise.
3817 (expand_gimple_stmt_1): Add a checked cast to gimple_call within
3819 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Strengthen
3820 local "new_stmt" from gimple to gimple_call, adding a checked
3822 * cgraphunit.c (cgraph_node::expand_thunk): Likewise for local
3824 * gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise for
3826 (gimple_fold_builtin_snprintf): Likewise.
3827 (gimple_fold_builtin): Likewise.
3828 (gimple_fold_call): Likewise.
3829 (gimple_fold_stmt_to_constant_1): Introduce local "call_stmt" via
3830 checked cast of "stmt" to gimple_call, using it in various places
3832 * gimple-pretty-print.c (dump_gimple_call_args): Strengthen param
3833 2 from gimple to gimple_call.
3834 (dump_gimple_call): Likewise.
3835 (pp_gimple_stmt_1): Add a checked cast to gimple_call within
3837 * gimple-streamer-in.c (input_gimple_stmt): Replace is_gimple_call
3838 with a dyn_cast<gimple_call>, introducing local "call_stmt", and
3839 using it in place of "stmt" for typesafety. Add a checked cast
3840 in statement guarded by check for GIMPLE_CALL.
3841 * gimple-walk.c (walk_gimple_op): Add a checked cast to
3843 * gimple.c (gimple_call_reset_alias_info): Strengthen param from
3844 gimple to gimple_call.
3845 (gimple_build_call_1): Strengthen return type and local from
3846 gimple to gimple_call.
3847 (gimple_build_call_vec): Likewise.
3848 (gimple_build_call): Likewise.
3849 (gimple_build_call_valist): Likewise.
3850 (gimple_build_call_internal_1): Likewise.
3851 (gimple_build_call_internal): Likewise.
3852 (gimple_build_call_internal_vec): Likewise.
3853 (gimple_build_call_from_tree): Likewise.
3854 (gimple_call_return_flags): Strengthen param from
3855 const_gimple to const_gimple_call.
3856 (gimple_call_copy_skip_args): Strengthen return type and local from
3857 gimple to gimple_call.
3858 * gimple.h (gimple_call_reset_alias_info): Strengthen param from
3859 gimple to gimple_call.
3860 (gimple_build_call_vec): Strengthen return type from gimple to
3862 (gimple_build_call): Likewise.
3863 (gimple_build_call_valist): Likewise.
3864 (gimple_build_call_internal): Likewise.
3865 (gimple_build_call_internal_vec): Likewise.
3866 (gimple_build_call_from_tree): Likewise.
3867 (gimple_call_return_flags): Strengthen param from const_gimple to
3869 (gimple_call_copy_skip_args): Strengthen return type from gimple
3871 (gimple_call_set_internal_fn): Strengthen param "call_stmt" from
3872 gimple to gimple_call.
3873 (gimple_call_return_type): Strengthen param from const_gimple to
3875 (gimple_call_chain_ptr): Likewise.
3876 (gimple_call_set_chain): Strengthen param from gimple to
3878 (gimple_call_set_return_slot_opt): Likewise.
3879 (gimple_call_set_from_thunk): Likewise.
3880 (gimple_call_from_thunk_p): Likewise.
3881 (gimple_call_set_va_arg_pack): Likewise.
3882 (gimple_call_va_arg_pack_p): Likewise.
3883 (gimple_call_set_alloca_for_var): Likewise.
3884 (gimple_call_alloca_for_var_p): Likewise.
3885 (gimple_expr_type): Introduce local "call_stmt" via a checked cast
3886 and use it for typesafety.
3887 * gimplify.c (gimplify_call_expr): Strengthen local "call" from
3888 gimple to gimple_call.
3889 (gimplify_modify_expr_to_memcpy): Likewise for local "gs".
3890 (gimplify_modify_expr_to_memset): Likewise.
3891 (gimplify_modify_expr): Add a checked cast to gimple_call.
3892 (gimplify_expr): Strengthen local "call" from gimple to
3894 (gimplify_function_tree): Likewise.
3895 * internal-fn.c (expand_LOAD_LANES): Strengthen param from gimple
3897 (expand_STORE_LANES): Likewise.
3898 (expand_ANNOTATE): Likewise.
3899 (expand_GOMP_SIMD_LANE): Likewise.
3900 (expand_GOMP_SIMD_VF): Likewise.
3901 (expand_GOMP_SIMD_LAST_LANE): Likewise.
3902 (expand_UBSAN_NULL): Likewise.
3903 (expand_UBSAN_BOUNDS): Likewise.
3904 (expand_UBSAN_OBJECT_SIZE): Likewise.
3905 (expand_ASAN_CHECK): Likewise.
3906 (ubsan_expand_si_overflow_addsub_check): Likewise.
3907 (ubsan_expand_si_overflow_neg_check): Likewise.
3908 (ubsan_expand_si_overflow_mul_check): Likewise.
3909 (expand_UBSAN_CHECK_ADD): Likewise.
3910 (expand_UBSAN_CHECK_SUB): Likewise.
3911 (expand_UBSAN_CHECK_MUL): Likewise.
3912 (expand_LOOP_VECTORIZED): Likewise.
3913 (expand_MASK_LOAD): Likewise.
3914 (expand_MASK_STORE): Likewise.
3915 (expand_ABNORMAL_DISPATCHER): Likewise.
3916 (expand_BUILTIN_EXPECT): Likewise.
3917 (internal_fn_expanders): Likewise for entries in this table.
3918 (expand_internal_call): Likewise.
3919 * internal-fn.def: Update comment to reflect strengthening of
3921 * internal-fn.h (expand_internal_call): Strengthen param from
3922 gimple to gimple_call.
3923 * ipa-prop.c (ipa_modify_call_arguments): Likewise for local
3925 * ipa-pure-const.c (check_call): Likewise for param "call".
3926 (check_stmt): Add a checked cast to gimple_call within GIMPLE_CALL
3928 * ipa-split.c (split_function): Strengthen local "call" from
3929 gimple to gimple_call.
3930 * omp-low.c (build_omp_barrier): Likewise for local "g".
3931 (lower_rec_input_clauses): Likewise for local "stmt".
3932 * trans-mem.c (build_tm_load): Likewise for return type and local
3934 (build_tm_store): Likewise.
3935 (expand_transaction): Likewise for local "call".
3936 * tree-call-cdce.c (check_pow): Likewise for param.
3937 (check_builtin_call): Likewise.
3938 (is_call_dce_candidate): Likewise.
3939 (gen_conditions_for_pow): Likewise.
3940 (gen_shrink_wrap_conditions): Likewise.
3941 (shrink_wrap_one_built_in_call): Likewise.
3942 (shrink_wrap_conditional_dead_built_in_calls): Strengthen param
3943 from vec<gimple> to vec<gimple_call>, and local "bi_call" from
3944 gimple to gimple_call.
3945 (pass_call_cdce::execute): Strengthen local
3946 "cond_dead_built_in_calls" from auto_vec<gimple> to
3947 auto_vec<gimple_call> and local "stmt" from gimple to gimple_call,
3948 * tree-cfg.c (notice_special_calls): Strengthen param from gimple
3950 * tree-cfg.h (notice_special_calls): Likewise.
3951 * tree-complex.c (expand_complex_libcall): Likewise for local
3953 * tree-inline.c (remap_gimple_stmt): Add checked cast to
3955 (copy_bb): Likewise. Strengthen local "new_call" from gimple to
3957 (inline_forbidden_p_stmt): Add checked cast to gimple_call.
3958 * tree-nested.c (init_tmp_var_with_call): Strengthen param "call"
3959 from gimple to gimple_call.
3960 (convert_nl_goto_reference): Likewise for local "call".
3961 (convert_tramp_reference_op): Likewise.
3962 (convert_gimple_call): Add checked cast to gimple_call.
3963 * tree-nrv.c (dest_safe_for_nrv_p): Strengthen param "call" from
3964 gimple to gimple_call.
3965 (pass_return_slot::execute): Likewise for local "stmt", using a
3966 dyn_cast<gimple_call> rather than an is_gimple_call call.
3967 * tree-object-size.c (alloc_object_size): Strengthen param "call"
3968 from const_gimple to const_gimple_call.
3969 (pass_through_call): Likewise.
3970 (call_object_size): Strengthen param "call" from gimple to
3972 (collect_object_sizes_for): Introduce local "call_stmt" via a
3973 checked cast, using it for typesafety.
3974 (check_for_plus_in_loops_1): Likewise.
3975 (pass_object_sizes::execute): Add a checked cast to gimple_call.
3976 * tree-profile.c (gimple_gen_interval_profiler): Strengthen local
3977 "call" from gimple to gimple_call.
3978 (gimple_gen_pow2_profiler): Likewise.
3979 (gimple_gen_one_value_profiler): Likewise.
3980 (gimple_gen_time_profiler): Likewise.
3981 (gimple_gen_average_profiler): Likewise.
3982 (gimple_gen_ior_profiler): Likewise.
3983 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise for
3985 (ref_maybe_used_by_call_p): Likewise.
3986 (ref_maybe_used_by_stmt_p): Add a checked cast to gimple_call.
3987 (call_may_clobber_ref_p_1): Strengthen param "call" from gimple to
3989 (call_may_clobber_ref_p): Likewise.
3990 (stmt_may_clobber_ref_p_1): Add a checked cast to gimple_call.
3991 * tree-ssa-alias.h (call_may_clobber_ref_p): Strengthen param 1
3992 from gimple to gimple_call.
3993 (call_may_clobber_ref_p_1): Likewise.
3994 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Add a checked cast
3996 * tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Strengthen
3997 local "call" from gimple to gimple_call.
3998 * tree-ssa-math-opts.c (build_and_insert_call): Likewise for local
4000 * tree-ssa-operands.c (maybe_add_call_vops): Likewise for param
4002 (parse_ssa_operands): Add a checked cast to gimple_call within
4004 * tree-ssa-pre.c (compute_avail): Add a checked cast to
4006 * tree-ssa-sccvn.c (copy_reference_ops_from_call): Strengthen
4007 param "call" from gimple to gimple_call.
4008 (valueize_shared_reference_ops_from_call): Likewise.
4009 (vn_reference_lookup_3): Add a checked cast to gimple_call.
4010 (vn_reference_lookup_call): Strengthen param "call" from gimple to
4012 (visit_reference_op_call): Likewise for param "stmt".
4013 (visit_use): Replace is_gimple_call with a dyn_cast, introducing
4014 local "call_stmt", using it in place of "stmt" for type-safety.
4015 * tree-ssa-sccvn.h (vn_reference_lookup_call): Strengthen param 1
4016 from gimple to gimple_call.
4017 * tree-ssa-structalias.c (get_call_vi): Likewise.
4018 (lookup_call_use_vi): Likewise.
4019 (lookup_call_clobber_vi): Likewise.
4020 (get_call_use_vi): Likewise.
4021 (get_call_clobber_vi): Likewise.
4022 (handle_rhs_call): Likewise.
4023 (handle_lhs_call): Likewise.
4024 (handle_const_call): Likewise.
4025 (handle_pure_call): Likewise.
4026 (get_fi_for_callee): Likewise.
4027 (find_func_aliases_for_builtin_call): Likewise for param 2.
4028 (find_func_aliases_for_call): Likewise.
4029 (find_func_aliases): Add a checked cast to gimple_call.
4030 (find_func_clobbers): Replace is_gimple_call with a dyn_cast,
4031 introducing local "call_stmt", using it in place of "stmt" for
4033 (compute_points_to_sets): Strengthen local "stmt" from gimple to
4034 gimple_call, replacing is_gimple_call with a
4035 dyn_cast <gimple_call>.
4036 (ipa_pta_execute): Likewise.
4037 * tree-ssa-threadedge.c
4038 (record_temporary_equivalences_from_stmts_at_dest): Add checked
4039 cast to gimple_call.
4040 * tree-tailcall.c (find_tail_calls): Strengthen local "call" from
4041 gimple to gimple_call, adding a checked cast.
4042 * tree-vect-data-refs.c (vect_setup_realignment): Eliminate
4043 top-level local "new_stmt" in favor of more tightly-scoped locals
4044 "new_stmt" of type gimple_assign and gimple_call.
4045 * tree-vect-patterns.c (vect_recog_pow_pattern): Strenghthen local
4046 "stmt" from gimple to gimple_call.
4047 * tree-vect-stmts.c (vectorizable_function): Likewise for param
4049 (vectorizable_call): Rename param 1 from "stmt" to "gs",
4050 reintroducing "stmt" as a gimple_call once we've established that
4051 we're working with a GIMPLE_CALL.
4052 * tree-vectorizer.h (vectorizable_function): Strengthen param 1
4053 from gimple to gimple_call.
4054 * value-prof.c (check_ic_target): Likewise.
4055 (gimple_ic_transform): Likewise for local "stmt", replacing a
4056 check for GIMPLE_CALL with a dyn_cast.
4057 (interesting_stringop_to_profile_p): Strengthen param "call"
4058 from gimple to gimple_call.
4059 (gimple_stringop_fixed_value): Likewise for param "vcall_stmt".
4060 (gimple_stringops_transform): Likewise for local "stmt",
4061 replacing a check for GIMPLE_CALL with a dyn_cast.
4062 (gimple_stringops_values_to_profile): Rename param 1 from "stmt"
4063 to "gs", reintroducing "stmt" as a gimple_call once we've
4064 established that we're working with a GIMPLE_CALL.
4065 * vtable-verify.c (verify_bb_vtables): Strengthen local
4066 "call_stmt" from gimple to gimple_call.
4068 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4070 Concretize get_loop_exit_condition et al to working on gimple_cond
4072 * tree-scalar-evolution.h (get_loop_exit_condition): Return a
4074 * tree-scalar-evolution.c (get_loop_exit_condition): Likewise, also
4075 concretizing local "res" from gimple to gimple_cond.
4076 * tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Convert
4077 locals from gimple to gimple_cond.
4078 (slpeel_can_duplicate_loop_p): Likewise.
4079 * tree-vect-loop.c (vect_get_loop_niters): Return a gimple_cond.
4080 (vect_analyze_loop_form): Convert local from gimple to gimple_cond.
4082 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4084 Update various expressions within tree-scalar-evolution.c to be gimple_phi
4086 * tree-scalar-evolution.c (follow_ssa_edge): Require a gimple_phi,
4087 rather than a gimple.
4088 (follow_ssa_edge_binary): Likewise.
4089 (follow_ssa_edge_expr): Likewise.
4090 (follow_ssa_edge_in_rhs): Likewise.
4091 (backedge_phi_arg_p): Likewise.
4092 (follow_ssa_edge_in_condition_phi_branch): Likewise.
4093 (follow_ssa_edge_in_condition_phi): Likewise.
4094 (follow_ssa_edge_inner_loop_phi): Likewise.
4095 (analyze_evolution_in_loop): Likewise.
4096 (analyze_initial_condition): Likewise.
4097 (interpret_loop_phi): Likewise.
4098 (interpret_condition_phi): Likewise.
4099 (follow_ssa_edge): Likewise; also, add checked casts to gimple_phi.
4101 (analyze_scalar_evolution_1): Add checked casts to gimple_phi
4102 within "case GIMPLE_PHI".
4104 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4106 tree-ssa-loop-ivopts.c: use gimple_phi in a few places
4108 * tree-ssa-loop-ivopts.c (determine_biv_step): Require a gimple_phi.
4109 (find_bivs): Convert local "phi" into a gimple_phi.
4110 (mark_bivs): Likewise.
4112 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4114 tree-ssa-loop-manip.c: use gimple_phi in three places
4116 * tree-ssa-loop-manip.c (add_exit_phi): Convert local "phi" to be a
4118 (split_loop_exit_edge): Likewise for "phi" and "new_phi".
4120 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4122 tree-ssa-loop-niter.c: use gimple_phi in a few places
4124 * tree-ssa-loop-niter.c (chain_of_csts_start): Return a gimple_phi
4125 rather than a gimple.
4126 (get_base_for): Likewise; convert local "phi" to be a gimple_phi.
4127 (loop_niter_by_eval): Convert local "phi" to be a gimple_phi.
4129 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4131 tree-ssa-phiprop.c: use gimple_phi
4133 * tree-ssa-phiprop.c (phiprop_insert_phi): Strengthen types of
4134 parameter "phi" and local "new_phi" from gimple to gimple_phi.
4136 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4138 tree-predcom.c: use gimple_phi in various places
4140 * tree-predcom.c (find_looparound_phi): Return a gimple_phi rather
4142 (insert_looparound_copy): Require a gimple_phi rather than just a
4144 (add_looparound_copies): Convert local "phi" to be a gimple_phi.
4145 (initialize_root_vars): Likewise.
4146 (initialize_root_vars_lm): Likewise.
4148 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4150 tree-parloops.c: use gimple_phi in various places
4152 * tree-parloops.c (struct reduction_info): Strengthen field "new_phi"
4153 from gimple to gimple_phi.
4154 (create_phi_for_local_result): Convert local "new_phi" to gimple_phi.
4155 (loop_has_vector_phi_nodes): Require a gimple_phi rather than a gimple.
4156 (gather_scalar_reductions): Convert to a gimple_phi_iterator and
4158 (try_create_reduction_list): Likewise.
4160 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4162 Update ssa_prop_visit_phi_fn callbacks to take a gimple_phi
4164 * tree-ssa-propagate.h (typedef ssa_prop_visit_phi_fn): Strengthen
4165 type of parameter from gimple to gimple_phi.
4167 * tree-complex.c (complex_visit_phi): Update signature of callback
4168 implementation accordingly.
4169 * tree-ssa-ccp.c (ccp_visit_phi_node): Likewise.
4170 * tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
4171 * tree-vrp.c (vrp_visit_phi_node): Likewise.
4173 * tree-ssa-propagate.c (simulate_stmt): Add a checked cast to
4174 gimple_phi when invoking the ssa_prop_visit_phi callback.
4176 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4178 Introduce gimple_phi_iterator
4180 * gimple-iterator.h (struct gimple_phi_iterator): New subclass of
4181 gimple_stmt_iterator with identical layout, but adding...
4182 (gimple_phi_iterator::phi): ...new method, equivalent to
4183 gsi_stmt (), but casting the underlying gimple to gimple_phi,
4184 checking that code == GIMPLE_PHI in a checked build.
4185 (gsi_start_phis): Return a gimple_phi_iterator, rather than just a
4186 gimple_stmt_iterator.
4188 * tree-if-conv.c (bb_with_exit_edge_p): Require a gimple_phi rather
4190 (if_convertible_phi_p): Likewise.
4191 * tree-phinodes.h (add_phi_node_to_bb): Likewise.
4192 * tree-ssa-phiprop.c (propagate_with_phi): Likewise.
4194 * tree-ssa-uninit.c (warn_uninitialized_phi): Require a gimple_phi
4195 and a vec<gimple_phi> *, rather than just a gimple and
4196 vec<gimple> *, and a hash_set<gimple_phi> * rather than a
4198 (find_uninit_use): Likewise; add checked cast to gimple_phi when
4200 (pass_late_warn_uninitialized::execute): Strengthen types of
4201 various locals, "worklist" from vec<gimple> to vec<gimple_phi>,
4202 "gsi" to a gimple_phi_iterator, "phi" and "cur_phi" to a
4203 gimple_phi, "added_to_worklist" from hash_set<gimple> to
4204 hash_set<gimple_phi>.
4206 * tree-ssa-loop-manip.c (rewrite_phi_with_iv): Require a
4207 gimple_phi_iterator * rather than a gimple_stmt_iterator *;
4208 use it to strengthen local from a gimple to a gimple_phi.
4210 * cfgloop.c (find_subloop_latch_edge_by_ivs): Convert local from a
4211 gimple_stmt_iterator to a gimple_phi_iterator. Use the iterator's
4212 "phi" method rather than gsi_stmt. Use this checked cast to convert
4213 the type of related local from a plain gimple to a gimple_phi.
4214 * gimple-pretty-print.c (dump_phi_nodes): Likewise.
4215 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
4217 * sese.c (sese_add_exit_phis_edge): Likewise.
4218 * tree-cfg.c (reinstall_phi_args): Likewise.
4219 (gimple_make_forwarder_block): Likewise.
4220 (add_phi_args_after_copy_edge): Likewise.
4221 (gimple_lv_adjust_loop_header_phi): Likewise.
4222 * tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
4223 (remove_forwarder_block_with_phi): Likewise.
4224 (merge_phi_nodes): Likewise.
4225 * tree-complex.c (update_phi_components): Likewise.
4226 * tree-if-conv.c (if_convertible_loop_p_1): Likewise.
4227 * tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
4228 (copy_phis_for_bb): Likewise.
4229 * tree-into-ssa.c (rewrite_add_phi_arguments): Likewise.
4230 * tree-outof-ssa.c (eliminate_build): Likewise.
4231 (eliminate_useless_phis): Likewise.
4232 (rewrite_trees): Likewise.
4233 (insert_backedge_copies): Likewise.
4234 * tree-phinodes.c (reserve_phi_args_for_new_edge): Likewise.
4235 (remove_phi_args): Likewise.
4236 (remove_phi_nodes): Likewise.
4237 * tree-predcom.c (find_looparound_phi): Likewise.
4238 (eliminate_temp_copies): Likewise.
4239 * tree-scalar-evolution.c (loop_closed_phi_def): Likewise.
4240 (scev_const_prop): Likewise; also, add checked cast to phi.
4241 * tree-ssa-coalesce.c (coalesce_partitions): Likewise.
4242 * tree-ssa-dce.c (remove_dead_phis): Likewise.
4243 (forward_edge_to_pdom): Likewise.
4244 * tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
4245 (cprop_into_successor_phis): Likewise.
4246 (propagate_rhs_into_lhs): Likewise.
4247 (eliminate_degenerate_phis_1): Likewise.
4248 * tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
4249 * tree-ssa-live.c (calculate_live_on_exit): Likewise.
4250 (verify_live_on_entry): Likewise.
4251 * tree-ssa-loop-im.c
4252 (move_computations_dom_walker::before_dom_children): Likewise.
4253 * tree-ssa-loop-ivopts.c (find_bivs): Likewise.
4254 (mark_bivs): Likewise.
4255 (find_interesting_uses_outside): Likewise.
4256 (determine_set_costs): Likewise.
4257 * tree-ssa-loop-manip.c (split_loop_exit_edge): Likewise.
4258 (tree_transform_and_unroll_loop): Likewise.
4259 (rewrite_all_phi_nodes_with_iv): Likewise.
4260 (canonicalize_loop_ivs): Likewise.
4261 * tree-ssa-loop-niter.c (determine_value_range): Likewise.
4262 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
4263 * tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
4264 * tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
4265 * tree-ssa-tail-merge.c (same_phi_alternatives_1): Likewise.
4266 (vop_phi): Likewise.
4267 * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
4269 * tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
4270 (copy_phi_args): Likewise.
4271 (phi_args_equal_on_edges): Likewise.
4272 * tree-ssa.c (ssa_redirect_edge): Likewise.
4273 (flush_pending_stmts): Likewise.
4274 * tree-switch-conversion.c (check_final_bb): Likewise.
4275 (gather_default_values): Likewise.
4276 (build_constructors): Likewise.
4277 (fix_phi_nodes): Likewise.
4278 * tree-tailcall.c (propagate_through_phis): Likewise.
4279 (add_successor_phi_arg): Likewise.
4280 * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
4282 (slpeel_update_phi_nodes_for_guard2): Likewise.
4283 (slpeel_tree_peel_loop_to_edge): Likewise.
4284 (vect_can_advance_ivs_p): Likewise.
4285 (vect_update_ivs_after_vectorizer): Likewise.
4286 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
4287 * tree-vrp.c (find_assert_locations): Likewise.
4288 * value-prof.c (gimple_ic): Likewise.
4290 * omp-low.c (expand_parallel_call): Convert local to a gimple_phi.
4292 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4294 Introduce gimple_phi and use it in various places
4296 * coretypes.h (gimple_phi): New typedef.
4297 (const_gimple_phi): New typedef.
4299 * gdbhooks.py (build_pretty_printer): Add gimple_phi and its
4300 variants, using the gimple printer.
4302 * gimple.h (gimple_vec): Eliminate thie typedef in the hope of using
4303 vecs of more concrete gimple subclasses as appropriate; also the
4304 comment is about to become misleading.
4306 * gimple.h (gimple_phi_capacity): Use const_gimple_phi typedef
4307 rather than spelling out the full type.
4308 (gimple_phi_num_args): Likewise.
4309 (gimple_phi_result): Likewise.
4310 (gimple_phi_result_ptr): Use gimple_phi typedef.
4311 (gimple_phi_set_result): Likewise.
4312 (gimple_phi_arg): Likewise.
4313 (gimple_phi_set_arg): Likewise.
4314 * tree-phinodes.c (allocate_phi_node): Likewise.
4315 (resize_phi_node): Likewise.
4316 (reserve_phi_args_for_new_edge): Likewise.
4317 (remove_phi_arg_num): Likewise.
4319 * gimple-pretty-print.c (dump_gimple_phi): Require a gimple_phi
4320 rather than just a gimple.
4321 * tree-into-ssa.c (mark_phi_for_rewrite): Likewise.
4323 * tree-phinodes.c (make_phi_node): Return a gimple_phi rather than
4325 (create_phi_node): Likewise.
4326 * tree-phinodes.h (create_phi_node): Likewise.
4328 * trans-mem.c (struct struct tm_log_entry): Replace use of
4329 now-removed gimple_vec with a plain vec<gimple>.
4331 * tree-into-ssa.c (phis_to_rewrite): Strengthen from a
4332 vec<gimple_vec> to a vec< vec<gimple_phi> >.
4334 * tree-into-ssa.c (insert_phi_nodes_for): Update local to be a
4336 * tree-into-ssa.c (rewrite_update_phi_arguments): Strengthen local
4337 "phis" from a gimple_vec to a vec<gimple_phi>, and local "phi" to
4339 * tree-into-ssa.c (delete_update_ssa): Strengthen local
4340 "phis" from a gimple_vec to a vec<gimple_phi>.
4342 * gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4343 gimple_phi in regions where a stmt is known to have code
4345 * tree-into-ssa.c (mark_use_interesting): Likewise.
4347 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4349 Introduce gimple_debug and use it in a few places
4351 * coretypes.h (gimple_debug): New typedef.
4352 (const_gimple_debug): New typedef.
4354 * gimple.h (struct gimple_statement_debug): New subclass of
4355 gimple_statement_with_ops, adding the invariant that
4356 stmt->code == GIMPLE_DEBUG.
4357 (is_a_helper <gimple_statement_debug>::test): New.
4359 * gdbhooks.py (build_pretty_printer): Add gimple_debug and its
4360 variants, using the gimple printer.
4362 * gimple-pretty-print.c (dump_gimple_debug): Require a gimple_debug
4363 rather than just a gimple.
4364 * tree-inline.c (copy_debug_stmt): Likewise.
4366 * tree-inline.h (struct copy_body_data): Strengthen field
4367 "debug_stmts" from a vec<gimple> to a vec<gimple_debug>.
4369 * gimple.c (gimple_build_debug_bind_stat): Return a gimple_debug
4370 rather than just a gimple.
4371 (gimple_build_debug_source_bind_stat): Likewise.
4372 * gimple.h (gimple_build_debug_bind_stat): Likewise.
4373 (gimple_build_debug_source_bind_stat): Likewise.
4375 * tree-inline.c (remap_gimple_stmt): Update locals to be a
4377 (maybe_move_debug_stmts_to_successors): Likewise.
4378 (copy_debug_stmts): Likewise.
4380 * gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4381 gimple_debug in regions where a stmt is known to have code
4384 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4386 Introduce gimple_label and use it in a few places
4388 * coretypes.h (gimple_label): New typedef.
4389 (const_gimple_label): New typedef.
4391 * gimple.h (struct gimple_statement_label): New subclass of
4392 gimple_statement_with_ops, adding the invariant that
4393 stmt->code == GIMPLE_LABEL.
4394 (is_a_helper <gimple_statement_label>::test): New.
4396 * gdbhooks.py (build_pretty_printer): Add gimple_label and its
4397 variants, reusing the gimple printer.
4399 * gimple-pretty-print.c (dump_gimple_label): Require a gimple_label
4400 rather than just a gimple.
4401 * tree-cfg.c (verify_gimple_label): Likewise.
4403 * gimple.c (gimple_build_label): Return a gimple_label rather than
4405 * gimple.h (gimple_build_label): Likewise.
4407 * gimplify.c (gimplify_case_label_expr): Update local to be a
4409 * tree-switch-conversion.c (gen_inbound_check): Likewise.
4411 * gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
4412 gimple_label in regions where a stmt is known to have code
4414 * tree-cfg.c (verify_gimple_stmt): Likewise.
4416 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4418 Introduce gimple_assign and use it in various places
4420 * coretypes.h (gimple_assign): New typedef.
4421 (const_gimple_assign): New typedef.
4423 * gimple.h (struct gimple_statement_assign): New subclass of
4424 gimple_statement_with_memory_ops, adding the invariant that
4425 stmt->code == GIMPLE_ASSIGN.
4426 (is_a_helper <gimple_statement_assign>::test): New.
4428 * gdbhooks.py (build_pretty_printer): Add gimple_assign and its
4429 variants, using the gimple printer.
4431 * gimple-builder.c (build_assign): Return a gimple_assign rather
4432 than just a gimple from each of the overloaded variants.
4433 (build_type_cast): Likewise.
4434 * gimple-builder.h (build_assign): Likewise.
4435 (build_type_cast): Likewise.
4436 * gimple.c (gimple_build_assign_stat): Likewise.
4437 (gimple_build_assign_with_ops): Likewise.
4438 * gimple.h (gimple_build_assign_stat): Likewise.
4439 (gimple_build_assign_with_ops): Likewise.
4441 * asan.c (get_mem_ref_of_assignment): Require a const_gimple_assign
4442 rather than just a "const gimple" (the latter is not a
4444 * gimple-pretty-print.c (dump_unary_rhs): Require a gimple_assign
4445 rather than just a gimple.
4446 (dump_binary_rhs): Likewise.
4447 (dump_ternary_rhs): Likewise.
4448 * tree-cfg.c (verify_gimple_assign_unary): Likewise.
4449 (verify_gimple_assign_binary): Likewise.
4450 (verify_gimple_assign_ternary): Likewise.
4451 (verify_gimple_assign_single): Likewise.
4452 (verify_gimple_assign): Likewise.
4453 * tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
4454 (try_to_simplify): Likewise.
4455 * tree-tailcall.c (process_assignment): Likewise.
4456 * tree-vect-generic.c (expand_vector_operation): Likewise.
4457 * tree-vrp.c (extract_range_from_cond_expr): Likewise.
4458 (extract_range_from_assignment): Likewise.
4460 * asan.c (has_stmt_been_instrumented_p): Add checked cast to
4461 gimple_assign in regions where a stmt is known to have code
4463 * gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4464 * tree-cfg.c (verify_gimple_stmt): Likewise.
4465 * tree-ssa-sccvn.c (visit_use): Likewise.
4466 * tree-tailcall.c (find_tail_calls): Likewise.
4467 * tree-vrp.c (vrp_visit_assignment_or_call): Likewise.
4469 * tree-vrp.c (simplify_stmt_for_jump_threading): Replace a check
4470 against GIMPLE_ASSIGN with a dyn_cast<gimple_assign>, introducing
4471 a gimple_assign local.
4473 * tree-vect-generic.c (expand_vector_condition): Convert local to a
4474 gimple_assign, adding a checked cast when extracting from gsi, since
4475 this is only called when underlying stmt has code GIMPLE_ASSIGN.
4476 (optimize_vector_constructor): Likewise.
4477 (lower_vec_perm): Likewise.
4478 (expand_vector_operations_1): Convert local to a gimple_assign,
4479 introducing a dyn_cast.
4481 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4483 Introduce gimple_cond and use it in various places
4485 * coretypes.h (gimple_cond): New typedef.
4486 (const_gimple_cond): Likewise.
4488 * gimple.h (struct gimple_statement_cond): New subclass of
4489 gimple_statement_with_ops, adding the invariant that
4490 stmt->code == GIMPLE_COND.
4491 (is_a_helper <gimple_statement_cond>::test): New.
4492 (gimple_build_cond): Return a gimple_cond, rather than just
4494 (gimple_build_cond_from_tree): Likewise.
4496 * gdbhooks.py (build_pretty_printer): Add gimple_cond and its
4497 variants, using the gimple printer.
4499 * cfgexpand.c (expand_gimple_cond): Require a gimple_cond rather
4501 * gimple.h (gimple_cond_set_condition_from_tree): Likewise.
4502 (gimple_cond_true_p): Likewise.
4503 (gimple_cond_false_p): Likewise.
4504 (gimple_cond_set_condition): Likewise.
4505 * gimple.c (gimple_cond_set_condition_from_tree): Likewise.
4506 * gimple-fold.c (fold_gimple_cond): Likewise.
4507 * gimple-pretty-print.c (dump_gimple_cond): Likewise.
4508 * tree-ssa-dom.c (canonicalize_comparison): Likewise.
4509 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
4510 * tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise.
4511 (recognize_bits_test): Likewise.
4512 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
4513 (thread_around_empty_blocks): Likewise.
4514 (thread_through_normal_block): Likewise.
4515 (thread_across_edge): Likewise.
4516 * tree-ssa-threadedge.h (thread_across_edge): Likewise.
4517 * tree-vrp.c (range_fits_type_p): Likewise.
4519 * cfgexpand.c (expand_gimple_basic_block): Add checked cast to
4520 gimple_cond in regions where a stmt is known to have code GIMPLE_COND.
4521 * gimple-fold.c (fold_stmt_1): Likewise.
4522 * gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4523 * tree-ssa-dom.c (optimize_stmt): Likewise.
4524 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
4525 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
4526 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
4528 * tree-vrp.c (simplify_stmt_using_ranges): Likewise.
4530 * cfgloopmanip.c (create_empty_loop_on_edge): Update local to be a
4532 * tree-vrp.c (identify_jump_threads): Likewise.
4534 * gimple.c (gimple_build_cond): Return a gimple_cond, rather than
4536 (gimple_build_cond_from_tree): Likewise.
4538 * tree-ssa-dom.c (class dom_opt_dom_walker): Strengthen type of
4539 field "m_dummy_cond" from a plain gimple to a gimple_cond.
4541 * tree-ssa-ifcombine.c (ifcombine_ifandif): Introduce locals
4542 inner_stmt and outer_stmt so that inner_cond and outer_cond can be
4543 of type gimple_cond once we know that we have code == GIMPLE_COND.
4544 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Introduce local
4545 "last" so that stmt can be of type gimple_cond.
4547 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4549 Introduce gimple_bind and use it for accessors.
4551 * coretypes.h (gimple_bind): New typedef.
4552 (const_gimple_bind): New typedef.
4554 * gdbhooks.py (build_pretty_printer): Add gimple_bind
4555 and its variants, using the gimple printer.
4557 * gimple-pretty-print.c (dump_gimple_bind): Update type-signature to
4558 require a gimple_bind rather than just a gimple.
4560 * gimple.c (gimple_build_bind): Return a gimple_bind rather than
4562 * gimple.h (gimple_build_bind): Likewise.
4564 * gimple.h (gimple_seq_first_stmt_as_a_bind): New.
4566 * gimple.h (gimple_bind_vars): Update type-signature to
4567 require a gimple_bind rather than just a gimple, removing
4568 as_a and hence run-time check.
4569 (gimple_bind_set_vars): Likewise.
4570 (gimple_bind_append_vars): Likewise.
4571 (gimple_bind_body_ptr): Likewise.
4572 (gimple_bind_body): Likewise.
4573 (gimple_bind_set_body): Likewise.
4574 (gimple_bind_add_stmt): Likewise.
4575 (gimple_bind_add_seq): Likewise.
4576 (gimple_bind_block): Likewise.
4577 (gimple_bind_set_block): Likewise.
4578 * gimplify.c (gimple_push_bind_expr): Likewise.
4579 (gimple_current_bind_expr): Likewise.
4580 * tree-inline.c (copy_gimple_bind): Likewise.
4582 * gimplify.h (gimple_current_bind_expr): Return a gimple_bind
4583 rather than a plain gimple.
4584 (gimplify_body): Likewise.
4585 (gimple_bind_expr_stack): Return a vec<gimple_bind> rather than
4588 * gimplify.c (struct gimplify_ctx): Strengthen field
4589 "bind_expr_stack" from vec<gimple> to vec<gimple_bind>.
4590 (gimple_bind_expr_stack): Likewise for type of returned value.
4592 * gimplify.c (gimplify_body): Strengthen various types from gimple
4593 to gimple_bind, including the return type.
4595 * gimplify.c (declare_vars): Introduce "gs" as a generic gimple,
4596 so that local "scope" can be of type gimple_bind once we've reached
4597 the region where it must be of code GIMPLE_BIND.
4599 * gimple-low.c (lower_gimple_bind): Add checked cast to
4600 gimple_bind, since both callers (lower_function_body and
4601 lower_stmt) have checked the code for us.
4603 * gimple.c (gimple_copy): Add checked cast to gimple_bind in
4604 region guarded by check for code GIMPLE_BIND.
4605 * gimple-low.c (gimple_stmt_may_fallthru): Likewise.
4606 * gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4607 * gimple-walk.c (walk_gimple_stmt): Likewise.
4608 * omp-low.c (scan_omp_1_stmt): Likewise.
4609 (lower_omp_1): Likewise.
4610 (lower_omp_for): Likewise.
4611 * tree-cfg.c (verify_gimple_in_seq_2): Likewise.
4612 (do_warn_unused_result): Likewise.
4613 * tree-inline.c (remap_gimple_stmt): Likewise.
4614 (estimate_num_insns): Likewise.
4615 * tree-nested.c (convert_nonlocal_reference_stmt): Likewise.
4617 * gimplify.c (gimplify_bind_expr): Update local(s) to be a
4618 gimple_bind rather than just a gimple.
4619 (gimplify_function_tree): Likewise.
4620 * omp-low.c (lower_omp_sections): Likewise.
4621 (lower_omp_single): Likewise.
4622 (lower_omp_master): Likewise.
4623 (lower_omp_taskgroup): Likewise.
4624 (lower_omp_ordered): Likewise.
4625 (lower_omp_critical): Likewise.
4626 (lower_omp_taskreg): Likewise.
4627 (lower_omp_teams): Likewise.
4628 * omp-low.c (lower_omp_for): Likewise; use
4629 gimple_seq_first_stmt_as_a_bind to encapsulate the checked cast.
4630 (lower_omp_target): Likewise.
4631 * tree-nested.c (finalize_nesting_tree_1): Likewise.
4633 * gimple.c (empty_stmt_p): Add dyn_cast to a gimple_bind.
4634 * tree-inline.c (replace_locals_stmt): Add dyn_cast to gimple_bind.
4636 2014-10-24 David Malcolm <dmalcolm@redhat.com>
4638 Introduce gimple_switch and use it in various places
4640 * gimple.h (gimple_statement_switch): New subclass of
4641 gimple_statement_with_ops, adding the invariant that
4642 stmt->code == GIMPLE_SWITCH.
4643 (is_a_helper <gimple_statement_switch>::test (gimple)): New.
4645 * coretypes.h (gimple_switch): New typedef
4646 (const_gimple_switch): Likewise.
4648 * gdbhooks.py (build_pretty_printer): Add gimple_switch
4649 and its variants, using the gimple printer.
4651 * gimple.c (gimple_build_switch_nlabels): Return a gimple_switch
4652 rather than just a gimple.
4653 (gimple_build_switch): Likewise.
4654 * gimple.h (gimple_build_switch_nlabels): Likewise.
4655 (gimple_build_switch): Likewise.
4657 * gimple.h (gimple_switch_num_labels): Update type-signature to
4658 require a gimple_switch rather than just a gimple.
4659 (gimple_switch_set_num_labels): Likewise.
4660 (gimple_switch_set_index): Likewise.
4661 (gimple_switch_label): Likewise.
4662 (gimple_switch_set_label): Likewise.
4663 (gimple_switch_default_label): Likewise.
4664 (gimple_switch_set_default_label): Likewise.
4665 * expr.h (expand_case): Likewise.
4666 * gimple-pretty-print.c (dump_gimple_call): Likewise.
4667 * stmt.c (compute_cases_per_edge): Likewise.
4668 (expand_case): Likewise.
4669 * tree-cfg.h (group_case_labels_stmt): Likewise.
4670 * tree-cfg.c (make_gimple_switch_edges): Likewise.
4671 (find_taken_edge_switch_expr) Likewise.
4672 (find_case_label_for_value) Likewise.
4673 (get_cases_for_edge): Likewise.
4674 (group_case_labels_stmt): Likewise.
4675 (verify_gimple_switch): Likewise.
4676 * tree-eh.c (verify_norecord_switch_expr): Likewise.
4677 * tree-eh.c (lower_eh_constructs_2): Likewise.
4678 * tree-loop-distribution.c (generate_loops_for_partition): Likewise.
4679 * tree-ssa-dom.c (record_edge_info): Likewise.
4680 * tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): Likewise.
4681 (simplify_gimple_switch): Likewise.
4682 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
4683 (collect_switch_conv_info): Likewise.
4684 (build_constructors): Likewise.
4685 (array_value_type): Likewise.
4686 (build_one_array): Likewise.
4687 (build_arrays): Likewise.
4688 (gen_inbound_check): Likewise.
4689 * tree-vrp.c (find_switch_asserts): Likewise.
4690 (find_case_label_range): Likewise.
4691 (find_case_label_ranges): Likewise.
4692 (vrp_visit_switch_stmt): Likewise.
4693 (simplify_switch_using_ranges): Likewise.
4695 * tree-vrp.c (switch_update): Strengthen field "stmt" from being
4696 merely a gimple to being a gimple_switch.
4698 * cfgexpand.c (expand_gimple_stmt_1): Add checked cast to
4699 gimple_switch in regions where the stmt code has been tested as
4701 * gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
4702 * tree-cfg.c (make_edges): Likewise.
4703 (end_recording_case_labels): Likewise.
4704 (cleanup_dead_labels): Likewise.
4705 (cleanup_dead_labels): Likewise.
4706 (group_case_labels): Likewise.
4707 (find_taken_edge): Likewise.
4708 (find_case_label_for_value): Likewise.
4709 (verify_gimple_stmt): Likewise.
4710 (gimple_verify_flow_info): Likewise.
4711 (gimple_redirect_edge_and_branch): Likewise.
4712 * tree-inline.c (estimate_num_insns): Likewise.
4713 * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
4714 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
4715 * tree-switch-conversion.c (do_switchconv): Likewise.
4716 * tree-vrp.c (find_assert_locations_1): Likewise.
4717 (vrp_visit_stmt): Likewise.
4718 (simplify_stmt_using_ranges): Likewise.
4720 * ipa-inline-analysis.c (set_switch_stmt_execution_predicate):
4721 Introduce local "lastg" as a generic gimple, so that local "last"
4722 can be of type gimple_switch once lastg's code has been verified.
4724 * omp-low.c (diagnose_sb_2): Introduce switch_stmt local to handle
4725 the GIMPLE_SWITCH case.
4727 * tree-cfg.c (find_taken_edge_switch_expr): Add gimple_switch
4728 argument, since the caller (find_taken_edge) has checked that
4729 last_stmt is a switch.
4731 Copyright (C) 2014 Free Software Foundation, Inc.
4733 Copying and distribution of this file, with or without modification,
4734 are permitted in any medium without royalty provided the copyright
4735 notice and this notice are preserved.