12014-11-19 David Malcolm <dmalcolm@redhat.com> 2 3 * gimple.h (struct gimple_statement_structure): Remove stray 4 newline. 5 62014-11-19 David Malcolm <dmalcolm@redhat.com> 7 8 * gimple.c (gimple_build_assign_with_ops): Strengthen return type 9 of new overload, from gimple to gassign *. 10 112014-11-18 David Malcolm <dmalcolm@redhat.com> 12 13 * cgraphbuild.c (pass_build_cgraph_edges::execute): Fix linebreak 14 at assignment statement. 15 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour): 16 Likewise. 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. 119 (expand_omp_atomic 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. 140 1412014-11-14 David Malcolm <dmalcolm@redhat.com> 142 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 154 to gcall *. 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 162 to greturn *. 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 170 gsi_for_stmt. 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 178 typesafety. 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 184 gcall *. 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. 192 1932014-10-28 David Malcolm <dmalcolm@redhat.com> 194 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): 198 Likewise. 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 219 typesafety. 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 251 gimple to gphi *. 252 2532014-10-27 David Malcolm <dmalcolm@redhat.com> 254 255 * doc/gimple.texi (Class hierarchy of GIMPLE statements): Update 256 to reflect the new gimple subclasses and the renamings of existing 257 classes. 258 2592014-10-27 David Malcolm <dmalcolm@redhat.com> 260 261 * gimple.h (struct gdebug): Remove out-of-date references to 262 typedefs. 263 (struct ggoto): Likewise. 264 (struct glabel): Likewise. 265 2662014-10-27 David Malcolm <dmalcolm@redhat.com> 267 268 Patch autogenerated by rename_gimple_subclasses.py from 269 https://github.com/davidmalcolm/gcc-refactoring-scripts 270 revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f 271 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): 1245 Likewise. 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): 1365 Likewise. 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. 1501 15022014-10-27 David Malcolm <dmalcolm@redhat.com> 1503 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. 1564 15652014-10-24 David Malcolm <dmalcolm@redhat.com> 1566 1567 * tree-inline.h (struct copy_body_data): Rename field 1568 "gimple_call" to "call_stmt". 1569 1570 * gimplify.c (gimplify_bind_expr): Rename local "gimple_bind" to 1571 "bind_stmt". 1572 (gimplify_switch_expr): Rename local "gimple_switch" to 1573 "switch_stmt". 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. 1581 15822014-10-24 David Malcolm <dmalcolm@redhat.com> 1583 1584 Convert various gimple to gimple_phi within ssa-iterators.h 1585 1586 * ssa-iterators.h (FOR_EACH_PHI_OR_STMT_USE): Add checked cast to 1587 gimple_phi. 1588 (FOR_EACH_PHI_OR_STMT_DEF): Likewise. 1589 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. 1594 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. 1600 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. 1605 16062014-10-24 David Malcolm <dmalcolm@redhat.com> 1607 1608 Use gimple_phi in many more places. 1609 1610 * gimple-ssa-strength-reduction.c (slsr_process_phi): Require a 1611 gimple_phi. 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. 1621 1622 * graphite-scop-detection.c (same_close_phi_node): Require a pair 1623 of gimple_phi. 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. 1628 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): 1646 Likewise. 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. 1678 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. 1683 1684 * ipa-split.c (consider_split): Convert local psi to a 1685 gimple_phi_iterator. 1686 * tree-cfg.c (gimple_merge_blocks): Likewise. 1687 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 1690 to a gimple_phi. 1691 (cleanup_empty_eh_merge_phis): Strengthen ophi from gimple to 1692 gimple_phi. 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 1696 gimple_phi. 1697 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. 1703 1704 * tree-scalar-evolution.c (analyze_initial_condition): Add checked cast 1705 to a gimple_phi. 1706 * tree-ssa.c (insert_debug_temp_for_var_def): Likewise. 1707 * tree-ssa-dom.c (get_rhs_or_phi_arg): Likewise. 1708 17092014-10-24 David Malcolm <dmalcolm@redhat.com> 1710 1711 Use gimple_call in some places within tree-ssa-dom.c 1712 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. 1721 17222014-10-24 David Malcolm <dmalcolm@redhat.com> 1723 1724 Concretize gimple_call_copy_flags and ipa_modify_call_arguments 1725 1726 * gimple.h (gimple_call_copy_flags): Require gimple_calls. 1727 1728 * ipa-prop.c (ipa_modify_call_arguments): Require a gimple_call. 1729 * ipa-prop.h (ipa_modify_call_arguments): Likewise. 1730 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. 1734 1735 * tree-sra.c (convert_callers): Replace check for GIMPLE_CALL with 1736 a dyn_cast. 1737 17382014-10-24 David Malcolm <dmalcolm@redhat.com> 1739 1740 Concretize gimple_assign_nontemporal_move_p 1741 1742 * gimple.h (gimple_assign_nontemporal_move_p): Require a 1743 const_gimple_assign rather than a const_gimple. 1744 1745 * cfgexpand.c (expand_gimple_stmt_1): Add local assign_stmt and 1746 checked cast within "case GIMPLE_ASSIGN". 1747 1748 * gimple-streamer-out.c (output_gimple_stmt): Add checked cast to 1749 gimple_assign. 1750 17512014-10-24 David Malcolm <dmalcolm@redhat.com> 1752 1753 Concretize gimple_call_arg_flags 1754 1755 * gimple.h (gimple_call_arg_flags): Require a const_gimple_call 1756 rather than a const_gimple. 1757 1758 * gimple.c (gimple_call_fnspec): Likewise. 1759 (gimple_call_arg_flags): Likewise. 1760 1761 * tree-inline.c (remap_gimple_stmt): Use a dyn_cast rather than a 1762 is_gimple_call and repeated checked casts. 1763 17642014-10-24 David Malcolm <dmalcolm@redhat.com> 1765 1766 Concretize gimple_call_set_tail and gimple_call_tail_p 1767 1768 * gimple.h (gimple_call_set_tail): Require a gimple_call. 1769 (gimple_call_tail_p): Likewise. 1770 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. 1774 1775 * trans-mem.c (expand_block_edges): Likewise, for comparison against 1776 GIMPLE_CALL. 1777 1778 * tree-inline.c (remap_gimple_stmt): Add checked casts to 1779 gimple_call in region guarded by is_gimple_call. 1780 1781 * tree-tailcall.c (optimize_tail_call): Add checked cast to gimple_call 1782 for t->call_gsi. 1783 17842014-10-24 David Malcolm <dmalcolm@redhat.com> 1785 1786 Concretize gimple_call_set_fntype 1787 1788 * gimple-fold.c (gimple_fold_builtin_sprintf_chk): Strengthen 1789 local "stmt" from gimple to gimple_call. 1790 1791 * gimple.h (gimple_call_set_fntype): Require a gimple_call. 1792 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. 1796 17972014-10-24 David Malcolm <dmalcolm@redhat.com> 1798 1799 Concretize gimple_call_set_fn 1800 1801 * gimple.h (gimple_call_set_fn): Require a gimple_call. 1802 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. 1808 18092014-10-24 David Malcolm <dmalcolm@redhat.com> 1810 1811 Tweak to gimplify_modify_expr 1812 1813 * gimplify.c (gimplify_modify_expr): Introduce local "call_stmt". 1814 18152014-10-24 David Malcolm <dmalcolm@redhat.com> 1816 1817 Concretize gimple_call_nothrow_p 1818 1819 * gimple.h (gimple_call_nothrow_p): Require a gimple_call. 1820 1821 * tree-eh.c (stmt_could_throw_p): Add checked cast to gimple_call. 1822 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. 1825 18262014-10-24 David Malcolm <dmalcolm@redhat.com> 1827 1828 Concretize gimple_call_set_nothrow 1829 1830 * gimple.h (gimple_call_set_nothrow): Require a gimple_call. 1831 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. 1835 18362014-10-24 David Malcolm <dmalcolm@redhat.com> 1837 1838 Concretize various expressions from gimple to gimple_cond 1839 1840 * ipa-split.c (check_forbidden_calls): Replace check against 1841 GIMPLE_COND with a dyn_cast<gimple_cond>, introducing a 1842 gimple_cond local. 1843 * predict.c (predict_extra_loop_exits): Likewise. 1844 * tree-vrp.c (fold_predicate_in): Likewise. 1845 (simplify_stmt_for_jump_threading): Likewise. 1846 1847 * predict.c (is_comparison_with_loop_invariant_p): Require a 1848 gimple_cond. 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). 1854 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. 1859 18602014-10-24 David Malcolm <dmalcolm@redhat.com> 1861 1862 Concretize gimple_cond_{lhs|rhs}_ptr 1863 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. 1867 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. 1871 1872 * omp-low.c (expand_omp_simd): Introduce a new local cond_stmt 1873 to express that the conditional is indeed a gimple_cond. 1874 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 1877 be GIMPLE_COND. 1878 18792014-10-24 David Malcolm <dmalcolm@redhat.com> 1880 1881 Concretize gimple_cond_set_{lhs|rhs} 1882 1883 * gimple.h (gimple_cond_set_lhs): Require a gimple_cond. 1884 (gimple_cond_set_rhs): Likewise. 1885 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". 1891 1892 * tree-ssa-loop-im.c (rewrite_bittest): Replace check for code 1893 GIMPLE_COND with a dyn_cast, adding new local "cond_stmt". 1894 18952014-10-24 David Malcolm <dmalcolm@redhat.com> 1896 1897 Concretize gimple_cond_set_code 1898 1899 * gimple.h (gimple_cond_set_code): Require a gimple_cond. 1900 1901 * tree-complex.c (expand_complex_comparison): Add a checked cast to 1902 gimple_cond within "case GIMPLE_COND". 1903 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. 1908 1909 * tree-ssa-loop-ivopts.c (rewrite_use_compare): Add a checked cast 1910 to gimple_cond on "use->stmt". 1911 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". 1917 1918 * tree-ssa-propagate.c (propagate_tree_value_into_stmt): Replace 1919 a check against GIMPLE_COND with a dyn_cast<gimple_cond>. 1920 19212014-10-24 David Malcolm <dmalcolm@redhat.com> 1922 1923 Concretize gimple_cond_{true|false}_label 1924 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. 1928 1929 * omp-low.c (diagnose_sb_2): Add checked cast to gimple_cond within 1930 case GIMPLE_COND. 1931 * tree-eh.c (maybe_record_in_goto_queue): Likewise. 1932 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. 1936 19372014-10-24 David Malcolm <dmalcolm@redhat.com> 1938 1939 Concretize gimple_switch_index and gimple_switch_index_ptr 1940 1941 * gimple.h (gimple_switch_index): Require a const_gimple_switch rather 1942 than a plain const_gimple. 1943 (gimple_switch_index_ptr): Likewise. 1944 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. 1950 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. 1957 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. 1963 19642014-10-24 David Malcolm <dmalcolm@redhat.com> 1965 1966 Concretize gimple_cond_make_{false|true} 1967 1968 * gimple.h (gimple_cond_make_false): Require a gimple_cond. 1969 (gimple_cond_make_true): Likewise. 1970 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. 1974 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): 1980 Likewise. 1981 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" 1986 clause. 1987 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 1996 last_stmt of bb. 1997 19982014-10-24 David Malcolm <dmalcolm@redhat.com> 1999 2000 Concretize locals within expand_omp_for_init_counts 2001 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 2004 concrete types. 2005 20062014-10-24 David Malcolm <dmalcolm@redhat.com> 2007 2008 Make gimple_cond_set_{true|false}_label require gimple_cond. 2009 2010 * gimple.h (gimple_cond_set_true_label): Require a gimple_cond. 2011 (gimple_cond_set_false_label): Likewise. 2012 2013 * tree-cfg.c (make_cond_expr_edges): Convert "entry" from gimple to 2014 a gimple_cond. 2015 (cleanup_dead_labels): Introduce a checked cast to a gimple_cond within 2016 the GIMPLE_COND case. 2017 20182014-10-24 David Malcolm <dmalcolm@redhat.com> 2019 2020 Concretize three gimple_return_ accessors 2021 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. 2026 2027 * cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to 2028 gimple_return. 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. 2037 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. 2055 2056 * predict.c (apply_return_prediction): Rework the search for 2057 return_stmt so that the latter can have type gimple_return. 2058 20592014-10-24 David Malcolm <dmalcolm@redhat.com> 2060 2061 Make gimple_phi_arg_location require a gimple_phi. 2062 2063 * gimple.h (gimple_phi_arg_location): Require a gimple_phi. 2064 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. 2068 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. 2073 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. 2079 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>. 2083 20842014-10-24 David Malcolm <dmalcolm@redhat.com> 2085 2086 Make gimple_phi_arg_location_from_edge require a gimple_phi 2087 2088 * gimple.h (gimple_phi_arg_location_from_edge): Require a 2089 gimple_phi. 2090 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. 2096 20972014-10-24 David Malcolm <dmalcolm@redhat.com> 2098 2099 Concretize three gimple_try_set_ accessors 2100 2101 * gimple.c (gimple_copy): Add checked casts to gimple_try. 2102 2103 * gimple.h (gimple_try_set_kind): Require a gimple_try. 2104 (gimple_try_set_eval): Likewise. 2105 (gimple_try_set_cleanup): Likewise. 2106 2107 * tree-eh.c (optimize_double_finally): Require a pair of gimple_try 2108 statements. 2109 (refactor_eh_r): Convert code comparisons to dynamic casts. 2110 21112014-10-24 David Malcolm <dmalcolm@redhat.com> 2112 2113 Concretize gimple_try_set_catch_is_cleanup 2114 2115 * gimple.h (gimple_try_set_catch_is_cleanup): Require a gimple_try. 2116 2117 * gimplify.c (gimplify_expr): Convert local "try_" from a gimple 2118 to a gimple_try. 2119 21202014-10-24 David Malcolm <dmalcolm@redhat.com> 2121 2122 Concretize gimple_eh_filter_set_types and gimple_eh_filter_set_failure 2123 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. 2128 21292014-10-24 David Malcolm <dmalcolm@redhat.com> 2130 2131 Concretize gimple_label_label 2132 2133 * gimple.h (gimple_label_label): Require a const_gimple_label 2134 rather than just a const_gimple. 2135 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. 2148 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. 2160 2161 * ipa-split.c (verify_non_ssa_vars): Replace a check against 2162 GIMPLE_LABEL with a dyn_cast<gimple_label>, introducing a 2163 gimple_label local. 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. 2173 21742014-10-24 David Malcolm <dmalcolm@redhat.com> 2175 2176 Concretize gimple_call_use_set and gimple_call_clobber_set 2177 2178 * gimple.h (gimple_call_use_set): Require a gimple_call. 2179 (gimple_call_clobber_set): Likewise. 2180 21812014-10-24 David Malcolm <dmalcolm@redhat.com> 2182 2183 Concretize gimple_catch_types 2184 2185 * gimple.h (gimple_catch_types): Require a const_gimple_catch 2186 rather than a const_gimple. 2187 21882014-10-24 David Malcolm <dmalcolm@redhat.com> 2189 2190 Make gimple_goto_set_dest require a gimple_goto 2191 2192 * gimple.h (gimple_goto_set_dest): Require a gimple_goto. 2193 2194 * tree-cfg.c (factor_computed_gotos): Add checked cast to 2195 gimple_goto. 2196 (cleanup_dead_labels): Likewise. 2197 21982014-10-24 David Malcolm <dmalcolm@redhat.com> 2199 2200 Make gimple_label_set_label require a gimple_label 2201 2202 * gimple.h (gimple_label_set_label): Require a gimple_label. 2203 22042014-10-24 David Malcolm <dmalcolm@redhat.com> 2205 2206 Concretize parameter to gimple_call_copy_skip_args 2207 2208 * gimple.c (gimple_call_copy_skip_args): Require a gimple_call. 2209 * gimple.h (gimple_call_copy_skip_args): Likewise. 2210 22112014-10-24 David Malcolm <dmalcolm@redhat.com> 2212 2213 Various gimple to gimple_call conversions in IPA 2214 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 2226 gimple. 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. 2231 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". 2235 22362014-10-24 David Malcolm <dmalcolm@redhat.com> 2237 2238 Use gimple_call for callgraph edges 2239 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 2243 "new_stmt". 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 2247 "stmt". 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. 2251 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 2260 gimple_call. 2261 2262 * cgraphbuild.c (pass_build_cgraph_edges::execute): Replace 2263 is_gimple_call with dyn_cast<gimple_call> and new local 2264 "call_stmt". 2265 (cgraph_edge::rebuild_edges): Likewise. 2266 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. 2271 2272 * lto-streamer-in.c (fixup_call_stmt_edges_1): Add checked casts 2273 to gimple_call. 2274 2275 * omp-low.c (simd_clone_adjust): Strengthen local "call" from 2276 gimple to gimple_call. 2277 2278 * trans-mem.c (ipa_tm_insert_irr_call): Likewise for "g". 2279 (ipa_tm_insert_gettmclone_call): Likewise; also strengthen "g2" 2280 to gimple_assign. 2281 2282 * tree-emutls.c (gen_emutls_addr): Strengthen local "x" from 2283 gimple to gimple_call. 2284 2285 * tree-inline.c (copy_bb): Replace is_gimple_call with 2286 dyn_cast<gimple_call> and new local "call_stmt". 2287 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. 2291 22922014-10-24 David Malcolm <dmalcolm@redhat.com> 2293 2294 Make gimple_call_return_slot_opt_p require a gimple_call. 2295 2296 * gimple.h (gimple_call_return_slot_opt_p): Require a gimple_call 2297 rather than a plain gimple. 2298 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 2301 "call_stmt". 2302 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". 2306 2307 * tree-inline.c (expand_call_inline): Convert check of code against 2308 GIMPLE_CALL to dyn_cast<gimple_call>, introducing a new local 2309 "call_stmt". 2310 23112014-10-24 David Malcolm <dmalcolm@redhat.com> 2312 2313 More gimple_phi 2314 2315 * gimple.h (gimple_phi_set_result): Require a gimple_phi rather 2316 than a plain gimple. 2317 (gimple_phi_set_arg): Likewise. 2318 2319 * tree-outof-ssa.c (remove_gimple_phi_args): Likewise; add a checked 2320 cast to gimple_phi. 2321 2322 * tree-sra.c (replace_removed_params_ssa_names): Add a checked 2323 cast to gimple_phi. 2324 23252014-10-24 David Malcolm <dmalcolm@redhat.com> 2326 2327 Make gimple_phi_arg_edge require a gimple_phi 2328 2329 * gimple.h (gimple_phi_arg_edge): Require a gimple_phi rather 2330 than a plain gimple. 2331 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. 2335 2336 * graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Require a 2337 gimple_phi_iterator; strengthen local "phi" from gimple to a 2338 gimple_phi. 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. 2343 2344 * ipa-split.c (consider_split): Convert "bsi" to a 2345 gimple_phi_iterator and "stmt" to a gimple_phi. 2346 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. 2350 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. 2354 2355 * tree-eh.c (cleanup_empty_eh_merge_phis): Convert "ngsi", "ogsi" 2356 to be gimple_phi_iterators. Convert "ophi", "nphi" to be 2357 gimple_phi. 2358 2359 * tree-into-ssa.c (prepare_use_sites_for): Add checked cast to 2360 gimple_phi. 2361 2362 * tree-ssa-coalesce.c (create_outofssa_var_map): Introduce 2363 gimple_phi_iterator "gpi" and use it to convert "phi" to a 2364 gimple_phi. 2365 2366 * tree-ssa-dce.c (propagate_necessity): Introduce local "phi", 2367 from checked cast to gimple_phi. 2368 2369 * tree-ssa-live.c (set_var_live_on_entry): Add checked cast to 2370 gimple_phi. 2371 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". 2376 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. 2382 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 2387 gimple_phi. 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 2393 "opnd_def_phi". 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>. 2402 24032014-10-24 David Malcolm <dmalcolm@redhat.com> 2404 2405 Update GRAPHITE to use more concrete gimple statement classes 2406 2407 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): 2408 Strengthen local "psi" to be a gimple_phi_iterator and "phi" to 2409 a gimple_phi. 2410 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 2415 gimple_assign. 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 2421 plain gimple. 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 2431 gimple_assign. 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 2438 to gimple_phi. 2439 (detect_commutative_reduction_arg): Strengthen return type from 2440 gimple to gimple_phi, and strengthen local "phi" to be a 2441 gimple_phi. 2442 (detect_commutative_reduction_assign): Strengthen return type from 2443 gimple to gimple_phi, and strengthen local "res" to be a 2444 gimple_phi. 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 2467 "loop_stmt". 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 2474 to gimple_phi. 2475 24762014-10-24 David Malcolm <dmalcolm@redhat.com> 2477 2478 Make gimple_phi_arg_set_location require a gimple_phi 2479 2480 * gimple.h (gimple_phi_arg_set_location): Require a gimple_phi 2481 rather than a plain gimple. 2482 24832014-10-24 David Malcolm <dmalcolm@redhat.com> 2484 2485 Make add_phi_arg require a gimple_phi 2486 2487 * tree-phinodes.h (add_phi_arg): Require a gimple_phi rather than 2488 a plain gimple. 2489 * tree-phinodes.c (add_phi_arg): Likewise. 2490 2491 * gimple-ssa-strength-reduction.c (create_phi_basis): Strengthen 2492 local "phi" from plain gimple to gimple_phi. 2493 2494 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): 2495 Likewise for "close_phi". 2496 2497 * ipa-split.c (split_function): Convert "psi" to 2498 gimple_phi_iterator. 2499 2500 * omp-low.c (expand_omp_for_static_nochunk): Introduce 2501 gimple_phi_iterator gpi, using it to strengthen "phi" to be a 2502 gimple_phi. 2503 (expand_omp_for_static_chunk): Likewise. 2504 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 2509 "copy". 2510 2511 * tree-parloops.c (create_parallel_loop): Introduce 2512 gimple_phi_iterator gpi, using it to strengthen "phi" to be a 2513 gimple_phi. 2514 2515 * tree-ssa-loop-im.c (execute_sm_if_changed): Likewise. 2516 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 2519 gimple_assign. 2520 2521 * tree-ssa-pre.c (insert_into_preds_of_block): Strengthen local 2522 "phi" to be a gimple_phi. 2523 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. 2527 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 2533 gimple_phi. 2534 (tree_optimize_tail_calls_1): Likewise. 2535 2536 * tree-vect-data-refs.c (vect_setup_realignment): Strengthen 2537 local "phi_stmt" to be a gimple_phi. 2538 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 2544 a gimple_phi. 2545 2546 * tree-vect-loop.c (get_initial_def_for_induction): Likewise for 2547 "induction_phi". 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 2552 gimple_phi. 2553 (vectorizable_reduction): Likewise for "new_phi". 2554 2555 * tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise. 2556 (vectorizable_load): Likewise for "phi". 2557 25582014-10-24 David Malcolm <dmalcolm@redhat.com> 2559 2560 Make gimple_phi_arg_def_ptr and gimple_phi_arg_has_location require a gimple_phi 2561 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. 2565 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. 2572 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 2575 gimple_phi. 2576 2577 * tree-cfg.c (gimple_duplicate_sese_tail): Likewise for "psi" and 2578 "phi". 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 2581 gimple_phi. 2582 2583 * tree-cfgcleanup.c (remove_forwarder_block): Likewise. 2584 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 2587 gimple_phi. 2588 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. 2592 25932014-10-24 David Malcolm <dmalcolm@redhat.com> 2594 2595 omp-low.c: Use more concrete types of gimple statement for various locals 2596 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 2604 gimple_assign. 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. 2609 26102014-10-24 David Malcolm <dmalcolm@redhat.com> 2611 2612 tree-parloops.c: Use gimple_phi in various places 2613 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. 2620 26212014-10-24 David Malcolm <dmalcolm@redhat.com> 2622 2623 Introduce gimple_omp_sections 2624 2625 * coretypes.h (gimple_omp_sections): New typedef. 2626 (const_gimple_omp_sections): New typedef. 2627 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. 2632 2633 * gimple.c (gimple_build_omp_sections): Return a 2634 gimple_omp_sections rather than a plain gimple. 2635 2636 * gimple.h (gimple_build_omp_sections): Return a 2637 gimple_omp_sections rather than a plain gimple. 2638 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". 2646 26472014-10-24 David Malcolm <dmalcolm@redhat.com> 2648 2649 Introduce gimple_omp_teams 2650 2651 * coretypes.h (gimple_omp_teams): New typedef. 2652 (const_gimple_omp_teams): New typedef. 2653 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. 2658 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. 2663 2664 * gimple.c (gimple_build_omp_teams): Return a gimple_omp_teams 2665 rather than a plain gimple. 2666 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 2671 gimple_omp_teams. 2672 26732014-10-24 David Malcolm <dmalcolm@redhat.com> 2674 2675 Introduce gimple_omp_target 2676 2677 * coretypes.h (gimple_omp_target): New typedef. 2678 (const_gimple_omp_target): New typedef. 2679 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. 2692 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. 2697 2698 * gimple.c (gimple_build_omp_target): Return a gimple_omp_target 2699 rather than a plain gimple. 2700 2701 * gimplify.c (gimplify_omp_target_update): Strengthen local "stmt" 2702 from gimple to gimple_omp_target. 2703 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 2709 gimple_omp_target. 2710 (lower_omp_target): Likewise for "stmt". 2711 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. 2716 27172014-10-24 David Malcolm <dmalcolm@redhat.com> 2718 2719 Introduce gimple_omp_single 2720 2721 * coretypes.h (gimple_omp_single): New typedef. 2722 (const_gimple_omp_single): New typedef. 2723 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. 2728 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. 2733 2734 * gimple.c (gimple_build_omp_single): Return a gimple_omp_single 2735 rather than a plain gimple. 2736 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 2745 gimple_omp_single. 2746 27472014-10-24 David Malcolm <dmalcolm@redhat.com> 2748 2749 Introduce gimple_omp_task 2750 2751 * coretypes.h (gimple_omp_task): New typedef. 2752 (const_gimple_omp_task): New typedef. 2753 2754 * gimple.h (gimple_build_omp_task): Return a gimple_omp_task 2755 rather than a plain gimple. 2756 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. 2761 2762 * gimple.c (gimple_build_omp_task): Return a gimple_omp_task 2763 rather than a plain gimple. 2764 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 2769 gimple_omp_task. 2770 (expand_task_call): Require a gimple_omp_task rather than a plain 2771 gimple. 2772 (expand_omp_taskreg): Add checked cast to gimple_omp_task. 2773 (create_task_copyfn): Require a gimple_omp_task rather than a 2774 plain gimple. 2775 (lower_omp_taskreg): Add checked cast to gimple_omp_task. 2776 27772014-10-24 David Malcolm <dmalcolm@redhat.com> 2778 2779 tree-cfg.c: Make verify_gimple_call require a gimple_call 2780 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. 2785 27862014-10-24 David Malcolm <dmalcolm@redhat.com> 2787 2788 Introduce gimple_omp_parallel 2789 2790 * coretypes.h (gimple_omp_parallel): New typedef. 2791 (const_gimple_omp_parallel): New typedef. 2792 2793 * cgraphbuild.c (build_cgraph_edges): Convert check of code 2794 against GIMPLE_OMP_PARALLEL to a dyn_cast <gimple_omp_parallel> 2795 and new local. 2796 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. 2801 2802 * gimple-walk.c (walk_gimple_op): Likewise, introducing a local. 2803 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. 2808 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. 2821 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. 2829 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. 2833 28342014-10-24 David Malcolm <dmalcolm@redhat.com> 2835 2836 Introduce gimple_omp_for 2837 2838 * coretypes.h (gimple_omp_for): New. 2839 (const_gimple_omp_for): New. 2840 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 2844 plain gimple. 2845 (gimple_omp_for_set_combined_p): Likewise. 2846 (gimple_omp_for_set_combined_into_p): Likewise. 2847 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. 2852 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. 2856 2857 * gimplify.c (gimplify_omp_for): Strengthen local "gfor" from 2858 gimple to gimple_omp_for. 2859 2860 * omp-low.c (omp_for_data::for_stmt): Strengthen field from gimple 2861 to gimple_omp_for. 2862 (extract_omp_for_data): Require a gimple_omp_for rather than a 2863 plain gimple. 2864 (workshare_safe_to_combine_p): Add a checked cast to 2865 gimple_omp_for. 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 2869 new local. 2870 (scan_omp_for): Require a gimple_omp_for rather than a plain 2871 gimple. 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 2876 gimple_omp_for. 2877 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. 2883 2884 * tree-parloops.c (create_parallel_loop): Strengthen local 2885 "for_stmt" from gimple to gimple_omp_for. 2886 28872014-10-24 David Malcolm <dmalcolm@redhat.com> 2888 2889 Introduce gimple_omp_critical 2890 2891 * coretypes.h (gimple_omp_critical): New typedef. 2892 (const_gimple_omp_critical): New typedef. 2893 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. 2898 2899 * gimple-walk.c (walk_gimple_op): Likewise. 2900 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. 2905 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. 2914 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. 2920 2921 * tree-inline.c (remap_gimple_stmt): Add a checked cast to 2922 gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch 2923 statement. 2924 29252014-10-24 David Malcolm <dmalcolm@redhat.com> 2926 2927 Introduce gimple_omp_continue 2928 2929 * coretypes.h (gimple_omp_continue): New typedef. 2930 (const_gimple_omp_continue): New typedef. 2931 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. 2942 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. 2947 2948 * gimple-walk.c (walk_gimple_op): Likewise, adding a new local. 2949 2950 * gimple.c (gimple_build_omp_continue): Return a 2951 gimple_omp_continue rather than a plain gimple. 2952 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. 2964 29652014-10-24 David Malcolm <dmalcolm@redhat.com> 2966 2967 Introduce gimple_omp_atomic_store 2968 2969 * coretypes.h (gimple_omp_atomic_store): New typedef. 2970 (const_gimple_omp_atomic_store): New typedef. 2971 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. 2977 2978 * gimple.c (gimple_build_omp_atomic_store): Return a 2979 gimple_omp_atomic_store rather than a plain gimple. 2980 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. 2988 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. 2992 2993 * omp-low.c (expand_omp_atomic): Strengthen local "store" from 2994 gimple to gimple_omp_atomic_store. 2995 29962014-10-24 David Malcolm <dmalcolm@redhat.com> 2997 2998 Introduce gimple_omp_atomic_load 2999 3000 * coretypes.h (gimple_omp_atomic_load): New typedef. 3001 (const_gimple_omp_atomic_load): New typedef. 3002 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. 3007 3008 * gimple-walk.c (walk_gimple_op): Likewise, introducing a new local. 3009 3010 * gimple.c (gimple_build_omp_atomic_load): Return a 3011 gimple_omp_atomic_load rather than a plain gimple. 3012 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. 3023 3024 * gimplify-me.c (gimple_regimplify_operands): Add a checked cast 3025 to gimple_omp_atomic_load within GIMPLE_OMP_ATOMIC_LOAD case of 3026 switch statement. 3027 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. 3032 30332014-10-24 David Malcolm <dmalcolm@redhat.com> 3034 3035 Use more concrete types for various gimple statements 3036 3037 * cgraphunit.c (thunk_adjust): Strengthen local "stmt" from gimple 3038 to gimple_assign. 3039 3040 * gimple-ssa-isolate-paths.c 3041 (insert_trap_and_remove_trailing_statements): Strengthen local 3042 "new_stmt" from gimple to gimple_call. 3043 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 3050 "cast_stmt". 3051 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" 3056 to gimple_try. 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 3060 to gimple_cond. 3061 (gimplify_init_constructor): Strengthen local "init" from gimple 3062 to gimple_assign. 3063 (gimplify_cleanup_point_expr): Strengthen local "gtry" from gimple 3064 to gimple_try. 3065 (gimple_push_cleanup): Strengthen locals "ffalse" and "ftrue" from 3066 gimple to gimple_assign. 3067 3068 * tree-eh.c (do_goto_redirection): Strengthen local to gimple_goto. 3069 (emit_post_landing_pad): Strengthen local to gimple_label. 3070 3071 * tree-outof-ssa.c (insert_backedge_copies): Strengthen local 3072 "stmt" from gimple to gimple_assign. 3073 3074 * tree-parloops.c (take_address_of): Likewise. 3075 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". 3079 3080 * tree-profile.c (gimple_gen_edge_profiler): Likewise, for "stmt1", 3081 "stmt2", "stmt3". 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. 3085 3086 * tree-scalar-evolution.c (scev_const_prop): Strengthen local 3087 "ass" from gimple to gimple_assign. 3088 3089 * tree-sra.c (build_ref_for_offset): Likewise for "stmt". 3090 (generate_subtree_copies): Likewise; also strengthen "ds" to 3091 gimple_debug. 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". 3097 3098 * tree-ssa-ccp.c (insert_clobber_before_stack_restore): 3099 Strengthen local "clobber_stmt" from gimple to gimple_assign. 3100 3101 * tree-ssa-dce.c (remove_dead_stmt): Strengthen "note" to 3102 gimple_debug. 3103 3104 * tree-ssa-dom.c (record_equivalences_from_stmt): Strengthen 3105 local "new_stmt" from gimple to gimple_assign. 3106 (optimize_stmt): Likewise. 3107 3108 * tree-ssa-forwprop.c (simplify_bitwise_binary): Likewise for 3109 4 declarations of "newop". 3110 (simplify_rotate): Likewise for "g". 3111 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 3115 "new_stmt". 3116 (execute_sm): Likewise for "load" and "store". 3117 3118 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): 3119 Strengthen local "stmt" from gimple to gimple_call. 3120 (unloop_loops): Likewise. 3121 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. 3125 3126 * tree-ssa-loop-manip.c (rewrite_phi_with_iv): Strengthen local "stmt" 3127 from gimple to gimple_assign. 3128 3129 * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Strengthen local 3130 "prefetch" from gimple to gimple_call. 3131 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 3139 of "new_stmt". 3140 (convert_mult_to_fma): Likewise for "fma_stmt". 3141 3142 * tree-ssa-phiopt.c (conditional_replacement): Likewise for "new_stmt". 3143 (abs_replacement): Likewise. 3144 3145 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise for "tmp". 3146 3147 * tree-ssa-pre.c (create_expression_by_pieces): Likewise for "newstmt". 3148 (eliminate_insert): Likewise for "tem". 3149 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". 3153 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 3158 a plain gimple. 3159 (reassociate_bb): Add a checked cast to gimple_assign. 3160 3161 * tree-ssa.c (insert_debug_temp_for_var_def): Strengthen local 3162 "def_temp" from gimple to gimple_debug. 3163 3164 * tree-switch-conversion.c (emit_case_bit_tests): Strengthen local 3165 "shift_stmt" from gimple to gimple_assign. 3166 3167 * tree-tailcall.c (adjust_return_value_with_ops): Likewise for 3168 "stmt". 3169 (update_accumulator_with_ops): Likewise. 3170 3171 * tree-vect-data-refs.c (bump_vector_ptr): Likewise for 3172 "incr_stmt". 3173 3174 * tree-vect-stmts.c (vectorizable_condition): Likewise for 3175 "new_stmt". 3176 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". 3180 3181 * ubsan.c (instrument_mem_ref): Strengthen local "g" from gimple 3182 to gimple_call. 3183 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. 3193 31942014-10-24 David Malcolm <dmalcolm@redhat.com> 3195 3196 Introduce gimple_try 3197 3198 * coretypes.h (gimple_try): New typedef. 3199 (const_gimple_try): New typedef. 3200 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. 3204 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. 3209 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 3213 gimple. 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 3220 plain gimple. 3221 (frob_into_branch_around): Likewise. 3222 (lower_try_finally_dup_block): Strengthen local from gimple to 3223 gimple_try. 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 3227 gimple. 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. 3235 32362014-10-24 David Malcolm <dmalcolm@redhat.com> 3237 3238 Use subclasses of gimple in various places 3239 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. 3243 3244 * cfgloopmanip.c (create_empty_if_region_on_edge): Likewise. 3245 3246 * omp-low.c (simd_clone_adjust): Strengthen local from gimple 3247 to gimple_phi. 3248 3249 * sese.c (set_ifsese_condition): Strengthen local from gimple to 3250 gimple_cond. 3251 3252 * tree-call-cdce.c (gen_one_condition): Strengthen locals from 3253 gimple to gimple_assign and gimple_cond. 3254 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. 3259 3260 * tree-ssa-pre.c (do_regular_insertion): Strengthen local from 3261 gimple to gimple_assign. 3262 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 3266 gimple. 3267 (gen_inbound_check): Strengthen locals from gimple to gimple_cond 3268 and gimple_assign. 3269 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. 3274 3275 * value-prof.c (gimple_ic): Strengthen local from gimple to 3276 gimple_phi. 3277 (gimple_stringop_fixed_value): Strengthen locals from gimple to 3278 gimple_assign, gimple_cond, gimple_call, and gimple_phi. 3279 32802014-10-24 David Malcolm <dmalcolm@redhat.com> 3281 3282 Introduce gimple_eh_dispatch 3283 3284 * coretypes.h (gimple_eh_dispatch): New typedef. 3285 (const_gimple_eh_dispatch): New typedef. 3286 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. 3291 3292 * gimple-streamer-in.c (input_gimple_stmt): Likewise. 3293 3294 * gimple-streamer-out.c (output_gimple_stmt): Likewise. 3295 3296 * gimple.c (gimple_build_eh_dispatch): Return a gimple_eh_dispatch 3297 rather than a plain gimple. 3298 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. 3305 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. 3311 3312 * tree-eh.c (emit_eh_dispatch): Convert local from gimple to 3313 gimple_eh_dispatch. 3314 (make_eh_dispatch_edges): Require a gimple_eh_dispatch rather than 3315 a plain gimple. 3316 (redirect_eh_dispatch_edge): Likewise. 3317 (lower_eh_dispatch): Likewise. 3318 (execute_lower_eh_dispatch): Add a checked cast to 3319 gimple_eh_dispatch. 3320 (mark_reachable_handlers): Likewise. 3321 (verify_eh_dispatch_edge): Require a gimple_eh_dispatch rather 3322 than a plain gimple. 3323 3324 * tree-eh.h (make_eh_dispatch_edges): Likewise. 3325 (redirect_eh_dispatch_edge): Likewise. 3326 (verify_eh_dispatch_edge): Likewise. 3327 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. 3332 33332014-10-24 David Malcolm <dmalcolm@redhat.com> 3334 3335 Introduce gimple_resx 3336 3337 * coretypes.h (gimple_resx): New typedef. 3338 (const_gimple_resx): New typedef. 3339 3340 * gimple.h (gimple_build_resx): Return a gimple_resx rather than a 3341 plain gimple. 3342 (gimple_resx_region): Require a const_gimple_resx rather than a 3343 plain const_gimple. 3344 (gimple_resx_set_region): Require a gimple_resx rather than a 3345 plain gimple. 3346 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. 3351 3352 * gimple-streamer-in.c (input_gimple_stmt): Likewise. 3353 3354 * gimple-streamer-out.c (output_gimple_stmt): Likewise. 3355 3356 * gimple.c (gimple_build_resx): Return a gimple_resx rather than 3357 a plain gimple. 3358 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. 3361 3362 * tree-eh.c (emit_resx): Convert local "x" from gimple to 3363 gimple_resx. 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. 3367 3368 * tree-inline.c (remap_gimple_stmt): Add a checked cast to 3369 gimple_resx within GIMPLE_RESX case of switch statement, adding 3370 a new local. 3371 33722014-10-24 David Malcolm <dmalcolm@redhat.com> 3373 3374 Introduce gimple_eh_else 3375 3376 * coretypes.h (gimple_eh_else): New typedef. 3377 (const_gimple_eh_else): New typedef. 3378 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 3382 a plain gimple. 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. 3388 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 3391 local. 3392 (gimple_stmt_may_fallthru): Likewise. 3393 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 3398 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. 3402 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. 3407 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. 3411 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 3422 gimple_eh_else. 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. 3427 34282014-10-24 David Malcolm <dmalcolm@redhat.com> 3429 3430 Introduce gimple_eh_must_not_throw 3431 3432 * coretypes.h (gimple_eh_must_not_throw): New typedef. 3433 (const_gimple_eh_must_not_throw): New typedef. 3434 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. 3439 3440 * gimple-streamer-in.c (input_gimple_stmt): Likewise. 3441 3442 * gimple-streamer-out.c (output_gimple_stmt): Likewise. 3443 3444 * gimple.c (gimple_build_eh_must_not_throw): Return a 3445 gimple_eh_must_not_throw rather than a plain gimple. 3446 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. 3452 3453 * tree-eh.c (lower_eh_must_not_throw): Add checked cast. 3454 34552014-10-24 David Malcolm <dmalcolm@redhat.com> 3456 3457 Introduce gimple_eh_filter 3458 3459 * coretypes.h (gimple_eh_filter): New typedef. 3460 (const_gimple_eh_filter): New typedef. 3461 3462 * gimple.h (gimple_build_eh_filter): Return a gimple_eh_filter 3463 rather than a plain gimple. 3464 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. 3469 3470 * gimple.c (gimple_build_eh_filter): Return a gimple_eh_filter 3471 rather than a plain gimple. 3472 34732014-10-24 David Malcolm <dmalcolm@redhat.com> 3474 3475 Introduce gimple_catch 3476 3477 * coretypes.h (gimple_catch): New typedef. 3478 (const_gimple_catch): New typedef. 3479 3480 * gimple-low.c (lower_try_catch): Add checked cast to gimple_catch. 3481 (gimple_try_catch_may_fallthru): Likewise. 3482 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. 3487 3488 * gimple-walk.c (walk_gimple_op): Likewise. 3489 (walk_gimple_stmt): Likewise. 3490 3491 * gimple.c (gimple_build_catch): Return a gimple_catch rather than 3492 a plain gimple. 3493 (gimple_copy): Add checked casts to gimple_catch within 3494 GIMPLE_CATCH case of switch statement, introducing new locals. 3495 3496 * gimple.h (gimple_build_catch): Return a gimple_catch rather than 3497 a plain gimple. 3498 (gimple_catch_types_ptr): Require a gimple_catch rather than a 3499 plain gimple. 3500 (gimple_catch_handler_ptr): Likewise. 3501 (gimple_catch_handler): Likewise. 3502 (gimple_catch_set_types): Likewise. 3503 (gimple_catch_set_handler): Likewise. 3504 3505 * omp-low.c (lower_omp_1): Add checked cast to gimple_catch within 3506 GIMPLE_CATCH case of switch statement. 3507 3508 * tree-cfg.c (verify_gimple_in_seq_2): Likewise. 3509 (do_warn_unused_result): Likewise. 3510 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. 3516 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. 3520 35212014-10-24 David Malcolm <dmalcolm@redhat.com> 3522 3523 Introduce gimple_transaction 3524 3525 * coretypes.h (gimple_transaction): New typedef. 3526 (const_gimple_transaction): New typedef. 3527 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. 3540 3541 * gimple-low.c (lower_stmt): Add checked cast to 3542 gimple_transaction within GIMPLE_TRANSACTION case of switch 3543 statement. 3544 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. 3553 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. 3558 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. 3562 3563 * omp-low.c (lower_omp_1): Add checked cast to gimple_transaction 3564 within GIMPLE_TRANSACTION case of switch statement. 3565 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 3572 comment. 3573 (tm_region_init_0): Require a gimple_transaction rather than a 3574 plain gimple. 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. 3585 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 3589 switch statement 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. 3595 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. 3603 36042014-10-24 David Malcolm <dmalcolm@redhat.com> 3605 3606 Introduce gimple_asm 3607 3608 * coretypes.h (gimple_asm): New typedef. 3609 (const_gimple_asm): New typedef. 3610 3611 * gimple.h (gimple_build_asm_vec): Return a gimple_asm rather than 3612 just a gimple. 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 3629 gimple. 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. 3635 3636 * cfgexpand.c (expand_asm_stmt): Require a gimple_asm rather than 3637 a plain gimple. 3638 (expand_gimple_stmt_1): Add checked cast to gimple_asm within 3639 GIMPLE_ASM case of switch statement. 3640 3641 * gimple-fold.c (fold_stmt_1): Add new local from checked cast to 3642 gimple_asm within case GIMPLE_ASM. 3643 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. 3648 3649 * gimple-streamer-in.c (input_gimple_stmt): Rework existing 3650 checked cast to gimple_asm; add a new one. 3651 3652 * gimple-streamer-out.c (output_gimple_stmt): Add new local from 3653 checked cast to gimple_asm within case GIMPLE_ASM. 3654 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 3661 local. 3662 3663 * gimple.c (gimple_build_asm_1): Return a gimple_asm rather than 3664 a plain gimple. 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 3669 a const_gimple. 3670 3671 * gimplify-me.c (gimple_regimplify_operands): Add a checked cast 3672 and a new local of type gimple_asm within GIMPLE_ASM case. 3673 3674 * gimplify.c (gimplify_asm_expr): Convert a local from gimple to 3675 gimple_asm. 3676 3677 * ipa-pure-const.c (check_stmt): Add checked casts within 3678 GIMPLE_ASM case. 3679 3680 * ssa-iterators.h (op_iter_init): Likewise. 3681 3682 * tree-cfg.c (make_goto_expr_edges): Convert a local from gimple 3683 to gimple_asm. 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>. 3690 3691 * tree-complex.c (expand_complex_comparison): Convert a local from 3692 gimple to gimple_asm. 3693 3694 * tree-data-ref.c (get_references_in_stmt): Add a checked cast to 3695 gimple_asm. 3696 3697 * tree-eh.c (stmt_could_throw_p): Likewise. 3698 3699 * tree-inline.c (estimate_num_insns): Likewise. 3700 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. 3705 3706 * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise. 3707 3708 * tree-ssa-dce.c (propagate_necessity): Replace a code check 3709 against GIMPLE_ASM with a dyn_cast<gimple_asm>. 3710 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. 3714 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. 3718 3719 * tree-ssa-threadedge.c 3720 (record_temporary_equivalences_from_stmts_at_dest): Add a checked 3721 cast to gimple_asm. 3722 3723 * tree-ssa.c (execute_update_addresses_taken): Add checked casts 3724 and new locals of type gimple_asm within clauses guarded by code 3725 check. 3726 37272014-10-24 David Malcolm <dmalcolm@redhat.com> 3728 3729 Introduce gimple_goto 3730 3731 * coretypes.h (gimple_goto): New typedef. 3732 (const_gimple_goto): New typedef. 3733 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 3739 plain gimple. 3740 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. 3745 3746 * gimple.c (gimple_build_goto): Return a gimple_goto rather than a 3747 plain gimple. 3748 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. 3753 37542014-10-24 David Malcolm <dmalcolm@redhat.com> 3755 3756 Introduce gimple_return 3757 3758 * coretypes.h (gimple_return): New typedef. 3759 (const_gimple_return): New typedef. 3760 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. 3767 3768 * gimple.c (gimple_build_return): Return a gimple_return rather 3769 than a plain gimple. 3770 3771 * cgraphunit.c (expand_thunk): Convert local from a gimple to 3772 a gimple_return. 3773 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 3777 gimple_return. 3778 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. 3783 3784 * gimplify.c (gimplify_return_expr): Convert locals from 3785 gimple to gimple_return. 3786 3787 * ipa-split.c (split_function): Likewise. 3788 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. 3793 3794 * tree-tailcall.c (adjust_return_value): Convert local from 3795 gimple to gimple_return. 3796 37972014-10-24 David Malcolm <dmalcolm@redhat.com> 3798 3799 Introduce gimple_call 3800 3801 * coretypes.h (gimple_call): New typedef. 3802 (const_gimple_call): New typedef. 3803 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 3807 gimple_call. 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 3818 GIMPLE_CALL case. 3819 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Strengthen 3820 local "new_stmt" from gimple to gimple_call, adding a checked 3821 cast. 3822 * cgraphunit.c (cgraph_node::expand_thunk): Likewise for local 3823 "call". 3824 * gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise for 3825 local "stmt". 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 3831 for typesafety. 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 3836 GIMPLE_CALL case. 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 3842 gimple_call. 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 3861 gimple_call. 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 3868 const_gimple_call. 3869 (gimple_call_copy_skip_args): Strengthen return type from gimple 3870 to gimple_call. 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 3874 const_gimple_call. 3875 (gimple_call_chain_ptr): Likewise. 3876 (gimple_call_set_chain): Strengthen param from gimple to 3877 gimple_call. 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 3893 gimple_call. 3894 (gimplify_function_tree): Likewise. 3895 * internal-fn.c (expand_LOAD_LANES): Strengthen param from gimple 3896 to gimple_call. 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 3920 param of expanders. 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 3924 "new_stmt". 3925 * ipa-pure-const.c (check_call): Likewise for param "call". 3926 (check_stmt): Add a checked cast to gimple_call within GIMPLE_CALL 3927 case. 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 3933 "gcall". 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 3949 to gimple_call. 3950 * tree-cfg.h (notice_special_calls): Likewise. 3951 * tree-complex.c (expand_complex_libcall): Likewise for local 3952 "stmt". 3953 * tree-inline.c (remap_gimple_stmt): Add checked cast to 3954 gimple_call. 3955 (copy_bb): Likewise. Strengthen local "new_call" from gimple to 3956 gimple_call. 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 3971 gimple_call. 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 3984 param "call". 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 3988 gimple_call. 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 3995 to gimple_call. 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 3999 "call_stmt". 4000 * tree-ssa-operands.c (maybe_add_call_vops): Likewise for param 4001 "stmt". 4002 (parse_ssa_operands): Add a checked cast to gimple_call within 4003 GIMPLE_CALL case. 4004 * tree-ssa-pre.c (compute_avail): Add a checked cast to 4005 gimple_call. 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 4011 gimple_call. 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 4032 type-safety. 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 4048 "call". 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. 4067 40682014-10-24 David Malcolm <dmalcolm@redhat.com> 4069 4070 Concretize get_loop_exit_condition et al to working on gimple_cond 4071 4072 * tree-scalar-evolution.h (get_loop_exit_condition): Return a 4073 gimple_cond. 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. 4081 40822014-10-24 David Malcolm <dmalcolm@redhat.com> 4083 4084 Update various expressions within tree-scalar-evolution.c to be gimple_phi 4085 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. 4100 4101 (analyze_scalar_evolution_1): Add checked casts to gimple_phi 4102 within "case GIMPLE_PHI". 4103 41042014-10-24 David Malcolm <dmalcolm@redhat.com> 4105 4106 tree-ssa-loop-ivopts.c: use gimple_phi in a few places 4107 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. 4111 41122014-10-24 David Malcolm <dmalcolm@redhat.com> 4113 4114 tree-ssa-loop-manip.c: use gimple_phi in three places 4115 4116 * tree-ssa-loop-manip.c (add_exit_phi): Convert local "phi" to be a 4117 gimple_phi. 4118 (split_loop_exit_edge): Likewise for "phi" and "new_phi". 4119 41202014-10-24 David Malcolm <dmalcolm@redhat.com> 4121 4122 tree-ssa-loop-niter.c: use gimple_phi in a few places 4123 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. 4128 41292014-10-24 David Malcolm <dmalcolm@redhat.com> 4130 4131 tree-ssa-phiprop.c: use gimple_phi 4132 4133 * tree-ssa-phiprop.c (phiprop_insert_phi): Strengthen types of 4134 parameter "phi" and local "new_phi" from gimple to gimple_phi. 4135 41362014-10-24 David Malcolm <dmalcolm@redhat.com> 4137 4138 tree-predcom.c: use gimple_phi in various places 4139 4140 * tree-predcom.c (find_looparound_phi): Return a gimple_phi rather 4141 than just a gimple. 4142 (insert_looparound_copy): Require a gimple_phi rather than just a 4143 gimple. 4144 (add_looparound_copies): Convert local "phi" to be a gimple_phi. 4145 (initialize_root_vars): Likewise. 4146 (initialize_root_vars_lm): Likewise. 4147 41482014-10-24 David Malcolm <dmalcolm@redhat.com> 4149 4150 tree-parloops.c: use gimple_phi in various places 4151 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 4157 gimple_phi. 4158 (try_create_reduction_list): Likewise. 4159 41602014-10-24 David Malcolm <dmalcolm@redhat.com> 4161 4162 Update ssa_prop_visit_phi_fn callbacks to take a gimple_phi 4163 4164 * tree-ssa-propagate.h (typedef ssa_prop_visit_phi_fn): Strengthen 4165 type of parameter from gimple to gimple_phi. 4166 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. 4172 4173 * tree-ssa-propagate.c (simulate_stmt): Add a checked cast to 4174 gimple_phi when invoking the ssa_prop_visit_phi callback. 4175 41762014-10-24 David Malcolm <dmalcolm@redhat.com> 4177 4178 Introduce gimple_phi_iterator 4179 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. 4187 4188 * tree-if-conv.c (bb_with_exit_edge_p): Require a gimple_phi rather 4189 than just a gimple. 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. 4193 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 4197 hash_set<gimple> *. 4198 (find_uninit_use): Likewise; add checked cast to gimple_phi when 4199 adding to worklist. 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>. 4205 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. 4209 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): 4216 Likewise. 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): 4268 Likewise. 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): 4281 Likewise. 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. 4289 4290 * omp-low.c (expand_parallel_call): Convert local to a gimple_phi. 4291 42922014-10-24 David Malcolm <dmalcolm@redhat.com> 4293 4294 Introduce gimple_phi and use it in various places 4295 4296 * coretypes.h (gimple_phi): New typedef. 4297 (const_gimple_phi): New typedef. 4298 4299 * gdbhooks.py (build_pretty_printer): Add gimple_phi and its 4300 variants, using the gimple printer. 4301 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. 4305 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. 4318 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. 4322 4323 * tree-phinodes.c (make_phi_node): Return a gimple_phi rather than 4324 just a gimple. 4325 (create_phi_node): Likewise. 4326 * tree-phinodes.h (create_phi_node): Likewise. 4327 4328 * trans-mem.c (struct struct tm_log_entry): Replace use of 4329 now-removed gimple_vec with a plain vec<gimple>. 4330 4331 * tree-into-ssa.c (phis_to_rewrite): Strengthen from a 4332 vec<gimple_vec> to a vec< vec<gimple_phi> >. 4333 4334 * tree-into-ssa.c (insert_phi_nodes_for): Update local to be a 4335 gimple_phi. 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 4338 a gimple_phi. 4339 * tree-into-ssa.c (delete_update_ssa): Strengthen local 4340 "phis" from a gimple_vec to a vec<gimple_phi>. 4341 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 4344 GIMPLE_PHI. 4345 * tree-into-ssa.c (mark_use_interesting): Likewise. 4346 43472014-10-24 David Malcolm <dmalcolm@redhat.com> 4348 4349 Introduce gimple_debug and use it in a few places 4350 4351 * coretypes.h (gimple_debug): New typedef. 4352 (const_gimple_debug): New typedef. 4353 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. 4358 4359 * gdbhooks.py (build_pretty_printer): Add gimple_debug and its 4360 variants, using the gimple printer. 4361 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. 4365 4366 * tree-inline.h (struct copy_body_data): Strengthen field 4367 "debug_stmts" from a vec<gimple> to a vec<gimple_debug>. 4368 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. 4374 4375 * tree-inline.c (remap_gimple_stmt): Update locals to be a 4376 gimple_debug. 4377 (maybe_move_debug_stmts_to_successors): Likewise. 4378 (copy_debug_stmts): Likewise. 4379 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 4382 GIMPLE_DEBUG. 4383 43842014-10-24 David Malcolm <dmalcolm@redhat.com> 4385 4386 Introduce gimple_label and use it in a few places 4387 4388 * coretypes.h (gimple_label): New typedef. 4389 (const_gimple_label): New typedef. 4390 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. 4395 4396 * gdbhooks.py (build_pretty_printer): Add gimple_label and its 4397 variants, reusing the gimple printer. 4398 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. 4402 4403 * gimple.c (gimple_build_label): Return a gimple_label rather than 4404 just a gimple. 4405 * gimple.h (gimple_build_label): Likewise. 4406 4407 * gimplify.c (gimplify_case_label_expr): Update local to be a 4408 gimple_label. 4409 * tree-switch-conversion.c (gen_inbound_check): Likewise. 4410 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 4413 GIMPLE_LABEL. 4414 * tree-cfg.c (verify_gimple_stmt): Likewise. 4415 44162014-10-24 David Malcolm <dmalcolm@redhat.com> 4417 4418 Introduce gimple_assign and use it in various places 4419 4420 * coretypes.h (gimple_assign): New typedef. 4421 (const_gimple_assign): New typedef. 4422 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. 4427 4428 * gdbhooks.py (build_pretty_printer): Add gimple_assign and its 4429 variants, using the gimple printer. 4430 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. 4440 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 4443 "const_gimple"). 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. 4459 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 4462 GIMPLE_ASSIGN. 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. 4468 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. 4472 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. 4480 44812014-10-24 David Malcolm <dmalcolm@redhat.com> 4482 4483 Introduce gimple_cond and use it in various places 4484 4485 * coretypes.h (gimple_cond): New typedef. 4486 (const_gimple_cond): Likewise. 4487 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 4493 a gimple. 4494 (gimple_build_cond_from_tree): Likewise. 4495 4496 * gdbhooks.py (build_pretty_printer): Add gimple_cond and its 4497 variants, using the gimple printer. 4498 4499 * cfgexpand.c (expand_gimple_cond): Require a gimple_cond rather 4500 than just a gimple. 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. 4518 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): 4527 Likewise. 4528 * tree-vrp.c (simplify_stmt_using_ranges): Likewise. 4529 4530 * cfgloopmanip.c (create_empty_loop_on_edge): Update local to be a 4531 gimple_cond. 4532 * tree-vrp.c (identify_jump_threads): Likewise. 4533 4534 * gimple.c (gimple_build_cond): Return a gimple_cond, rather than 4535 just a gimple. 4536 (gimple_build_cond_from_tree): Likewise. 4537 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. 4540 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. 4546 45472014-10-24 David Malcolm <dmalcolm@redhat.com> 4548 4549 Introduce gimple_bind and use it for accessors. 4550 4551 * coretypes.h (gimple_bind): New typedef. 4552 (const_gimple_bind): New typedef. 4553 4554 * gdbhooks.py (build_pretty_printer): Add gimple_bind 4555 and its variants, using the gimple printer. 4556 4557 * gimple-pretty-print.c (dump_gimple_bind): Update type-signature to 4558 require a gimple_bind rather than just a gimple. 4559 4560 * gimple.c (gimple_build_bind): Return a gimple_bind rather than 4561 just a gimple. 4562 * gimple.h (gimple_build_bind): Likewise. 4563 4564 * gimple.h (gimple_seq_first_stmt_as_a_bind): New. 4565 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. 4581 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 4586 a vec<gimple>. 4587 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. 4591 4592 * gimplify.c (gimplify_body): Strengthen various types from gimple 4593 to gimple_bind, including the return type. 4594 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. 4598 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. 4602 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. 4616 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. 4632 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. 4635 46362014-10-24 David Malcolm <dmalcolm@redhat.com> 4637 4638 Introduce gimple_switch and use it in various places 4639 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. 4644 4645 * coretypes.h (gimple_switch): New typedef 4646 (const_gimple_switch): Likewise. 4647 4648 * gdbhooks.py (build_pretty_printer): Add gimple_switch 4649 and its variants, using the gimple printer. 4650 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. 4656 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. 4694 4695 * tree-vrp.c (switch_update): Strengthen field "stmt" from being 4696 merely a gimple to being a gimple_switch. 4697 4698 * cfgexpand.c (expand_gimple_stmt_1): Add checked cast to 4699 gimple_switch in regions where the stmt code has been tested as 4700 GIMPLE_SWITCH. 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. 4719 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. 4723 4724 * omp-low.c (diagnose_sb_2): Introduce switch_stmt local to handle 4725 the GIMPLE_SWITCH case. 4726 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. 4730 4731Copyright (C) 2014 Free Software Foundation, Inc. 4732 4733Copying and distribution of this file, with or without modification, 4734are permitted in any medium without royalty provided the copyright 4735notice and this notice are preserved. 4736