blob: fbbe3ae6aa588dfbe22fa3ce11ce3cb49f5314e9 [file] [log] [blame]
2014-11-19 David Malcolm <dmalcolm@redhat.com>
* gimple.h (struct gimple_statement_structure): Remove stray
newline.
2014-11-19 David Malcolm <dmalcolm@redhat.com>
* gimple.c (gimple_build_assign_with_ops): Strengthen return type
of new overload, from gimple to gassign *.
2014-11-18 David Malcolm <dmalcolm@redhat.com>
* cgraphbuild.c (pass_build_cgraph_edges::execute): Fix linebreak
at assignment statement.
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
Likewise.
* gimple-ssa-strength-reduction.c (replace_one_candidate): Likewise.
* gimple-walk.c (walk_gimple_stmt): Likewise.
* gimple.c (gimple_build_return): Likewise.
(gimple_build_call_1): Likewise.
(gimple_build_call_internal_1): Likewise.
(gimple_build_label): Likewise.
(gimple_build_goto): Likewise.
(gimple_build_eh_filter): Likewise.
(gimple_build_eh_must_not_throw): Likewise.
(gimple_build_resx): Likewise.
(gimple_build_switch_nlabels): Likewise.
(gimple_build_eh_dispatch): Likewise.
(gimple_build_debug_bind_stat): Likewise.
(gimple_build_debug_source_bind_stat): Likewise.
(gimple_build_omp_critical): Likewise.
(gimple_build_omp_parallel): Likewise.
(gimple_build_omp_task): Likewise.
(gimple_build_omp_continue): Likewise.
(gimple_build_omp_sections): Likewise.
(gimple_build_omp_single): Likewise.
(gimple_build_omp_target): Likewise.
(gimple_build_omp_teams): Likewise.
(gimple_build_omp_atomic_load): Likewise.
(gimple_build_omp_atomic_store): Likewise.
(gimple_build_transaction): Likewise.
(gimple_copy): Likewise.
* gimple.h (gimple_call_fntype): Likewise.
(gimple_eh_filter_types): Likewise.
(gimple_eh_filter_types_ptr): Likewise.
(gimple_eh_filter_failure_ptr
(gimple_phi_capacity): Likewise.
(gimple_phi_num_args): Likewise.
(gimple_phi_result): Likewise.
(gimple_omp_for_clauses): Likewise.
(gimple_omp_for_clauses_ptr): Likewise.
(gimple_omp_for_set_clauses): Likewise.
(gimple_omp_for_collapse): Likewise.
(gimple_omp_for_index): Likewise.
(gimple_omp_for_index_ptr): Likewise.
(gimple_omp_for_set_index): Likewise.
(gimple_omp_for_initial): Likewise.
(gimple_omp_for_initial_ptr): Likewise.
(gimple_omp_for_set_initial): Likewise.
(gimple_omp_for_final): Likewise.
(gimple_omp_for_final_ptr): Likewise.
(gimple_omp_for_set_final): Likewise.
(gimple_omp_for_incr): Likewise.
(gimple_omp_for_incr_ptr): Likewise.
(gimple_omp_for_set_incr): Likewise.
(gimple_omp_for_pre_body_ptr): Likewise.
(gimple_omp_for_set_pre_body): Likewise.
(gimple_omp_parallel_clauses): Likewise.
(gimple_omp_task_clauses): Likewise.
(gimple_omp_task_clauses_ptr): Likewise.
(gimple_omp_task_set_clauses): Likewise.
(gimple_omp_task_child_fn): Likewise.
(gimple_omp_task_child_fn_ptr): Likewise.
(gimple_omp_task_set_child_fn): Likewise.
(gimple_omp_task_data_arg): Likewise.
(gimple_omp_task_data_arg_ptr): Likewise.
(gimple_omp_task_set_data_arg): Likewise.
(gimple_omp_taskreg_clauses): Likewise.
(gimple_omp_taskreg_clauses_ptr): Likewise.
(gimple_omp_taskreg_set_clauses): Likewise.
(gimple_omp_taskreg_child_fn): Likewise.
(gimple_omp_taskreg_child_fn_ptr): Likewise.
(gimple_omp_taskreg_set_child_fn): Likewise.
(gimple_omp_taskreg_data_arg): Likewise.
(gimple_omp_taskreg_data_arg_ptr): Likewise.
(gimple_omp_taskreg_set_data_arg): Likewise.
(gimple_omp_task_copy_fn): Likewise.
(gimple_omp_task_copy_fn_ptr): Likewise.
(gimple_omp_task_set_copy_fn): Likewise.
(gimple_omp_task_arg_size): Likewise.
(gimple_omp_task_arg_size_ptr): Likewise.
(gimple_omp_task_set_arg_size): Likewise.
(gimple_omp_task_arg_align): Likewise.
(gimple_omp_task_arg_align_ptr): Likewise.
(gimple_omp_task_set_arg_align): Likewise.
(gimple_omp_single_clauses): Likewise.
(gimple_omp_single_clauses_ptr): Likewise.
(gimple_omp_target_clauses): Likewise.
(gimple_omp_target_clauses_ptr): Likewise.
(gimple_omp_teams_clauses): Likewise.
(gimple_omp_teams_clauses_ptr): Likewise.
(gimple_omp_sections_clauses): Likewise.
(gimple_omp_sections_clauses_ptr): Likewise.
(gimple_omp_sections_set_clauses): Likewise.
(gimple_omp_sections_control): Likewise.
(gimple_omp_sections_control_ptr): Likewise.
(gimple_omp_sections_set_control): Likewise.
(gimple_omp_for_set_cond): Likewise.
(gimple_omp_for_cond): Likewise.
* graphite-sese-to-poly.c (follow_ssa_with_commutative_ops): Likewise.
(detect_commutative_reduction_assign): Likewise.
* ipa-split.c (verify_non_ssa_vars): Likewise.
(split_function): Likewise.
* omp-low.c (check_omp_nesting_restrictions): Likewise.
(remove_exit_barrier): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_atomic
(lower_omp_for): Likewise.
(lower_omp_taskreg): Likewise.
* predict.c (tree_estimate_probability_bb): Likewise.
* trans-mem.c (propagate_tm_flags_out): Likewise.
(execute_tm_mark): Likewise.
* tree-cfg.c (make_edges): Likewise.
* tree-inline.c (remap_gimple_stmt): Likewise.
(estimate_num_insns): Likewise.
* tree-sra.c (init_subtree_with_zero): Likewise.
(sra_modify_expr): Likewise.
* tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
* tree-ssa-loop-ivopts.c (remove_unused_ivs): Likewise.
* tree-ssa-math-opts.c (build_and_insert_cast): Likewise.
(pass_cse_sincos::execute): Likewise.
* tree-ssa-pre.c (do_regular_insertion): Likewise.
(eliminate_insert): Likewise.
* tree-ssa-reassoc.c (update_ops): Likewise.
* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
* tree-tailcall.c (static): Likewise.
* tree-vrp.c (simplify_truth_ops_using_ranges): Likewise.
2014-11-14 David Malcolm <dmalcolm@redhat.com>
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee):
Strengthen locals "dbndret" and "ibndret" from gimple to gcall *.
* gimple-iterator.c (gsi_for_phi): New function.
* gimple-iterator.h (gsi_for_phi): New prototype.
* internal-fn.c (expand_ADD_OVERFLOW): Strengthen param "stmt"
from gimple to gcall *.
(expand_SUB_OVERFLOW): Likewise.
(expand_MUL_OVERFLOW): Likewise.
* ipa-icf-gimple.c (func_checker::compare_bb): Add checked casts
within case GIMPLE_CALL.
(func_checker::compare_gimple_call): Strengthen params from gimple
to gcall *.
* ipa-icf-gimple.h (func_checker::compare_gimple_call): Likewise.
* sanopt.c (sanopt_optimize_walker): Replace check for GIMPLE_ASM
with a dyn_cast, introducing local "asm_stmt" and using it in
place of "stmt" for typesafety.
* tree-chkp.c (chkp_recompute_phi_bounds): Strengthen locals
"bounds_phi" and "ptr_phi" from gimple to gphi *.
(chkp_add_bounds_to_ret_stmt): Strengthen local "ret" from gimple
to greturn *.
(chkp_add_bounds_to_call_stmt): Strengthen locals "call" and
"new_call" from gimple to gcall *.
(chkp_build_returned_bound): Likewise for param "call".
(chkp_retbnd_call_by_val): Likewise for return type.
(chkp_get_bounds_by_definition): Strengthen param "iter" from
gimple_stmt_iterator * to gphi_iterator *. Add a checked cast
within case GIMPLE_CALL. Use gsi_for_phi rather than
gsi_for_stmt.
(chkp_find_bounds_1): Strengthen local "phi_iter" from
gimple_stmt_iterator to gphi_iterator. Replace check for
GIMPLE_PHI with a dyn_cast, introducing local "def_phi" and using
in place of "def_stmt" for typesafety.
(chkp_copy_bounds_for_assign): Add checked cast.
(chkp_instrument_function): Within case GIMPLE_RETURN, add local
greturn * "r" from a checked cast and use in place of "s" for
typesafety.
* tree-chkp.h (chkp_retbnd_call_by_val): Strengthen return type
from gimple to gcall *.
* tree-inline.c (copy_bb): Update for renaming of field
"gimple_call" to "call_stmt" on the gimple-classes branch.
(expand_call_inline): Strengthen local "retbnc" from gimple to
gcall *.
* tree-ssa-forwprop.c (pass_forwprop::execute): Replace check for
GIMPLE_COND with a dyn_cast, introducing local "cond" and using
in place of "stmt" for typesafety.
* value-prof.c (gimple_ic): Strengthen local "iretbnd_stmt" from
gimple to gcall *. Weaken top-level local "psi" from
gphi_iterator back to gimple_stmt_iterator, reintroducing the
name as a phi_iterator within the for loop that needs it.
2014-10-28 David Malcolm <dmalcolm@redhat.com>
* auto-profile.c (autofdo::function_instance::find_icall_target_map):
Strengthen param "stmt" from gimple to gcall *.
(autofdo::autofdo_source_profile::update_inlined_ind_target):
Likewise.
(autofdo::afdo_indirect_call): Rename local gimple "stmt" to "gs",
reintroducing "stmt" as a gcall * via a dyn_cast once we've
established that we have a GIMPLE_CALL.
(autofdo::afdo_set_bb_count): Use a gphi_iterator for the phi
iteration, renaming it from "gsi" to "gpi", strengthening
local "phi" from gimple to gphi *.
(autofdo::afdo_propagate_circuit): Rename local gimple "phi_stmt"
to "def_stmt". Reintroduce "phi_stmt" as a gphi * via a dyn_cast
once we know we have a GIMPLE_PHI.
(autofdo::afdo_vpt_for_early_inline): Strengthen local "stmt" from
gimple to gcall *, using a dyn_cast.
* gimple-fold.c (replace_stmt_with_simplification): Replace check
against GIMPLE_COND with a dyn_cast <gcond *>, introducing local
"cond_stmt". Use "cond_stmt" in place of "stmt" for typesafety.
* gimple-iterator.h (gsi_next_nonvirtual_phi): Strengthen param
from gimple_stmt_iterator * to gphi_iterator *, and local "phi"
from gimple to gphi *.
* ipa-icf-gimple.c (ipa_icf_gimple::func_checker::parse_labels):
Replace check against GIMPLE_LABEL with a dyn_cast <glabel *>,
introducing local "label_stmt". Use it in place of "stmt" for
typesafety.
(ipa_icf_gimple::func_checker::compare_bb): Add checked casts
to appropriate gimple subclasses when invoking comparison methods
within the cases for GIMPLE_SWITCH, GIMPLE_RESX, GIMPLE_LABEL,
GIMPLE_RETURN, GIMPLE_ASM.
(ipa_icf_gimple::func_checker::compare_gimple_label): Strengthen
both params from gimple to const glabel *.
(ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
both params from gimple to const gswitch *.
(ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
both params from gimple to const greturn *.
(ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
both params from gimple to const gresx *.
(ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
both params from gimple to const gasm *.
* ipa-icf-gimple.h (ipa_icf_gimple::func_checker::compare_gimple_label):
Strengthen both params from gimple to const glabel *.
(ipa_icf_gimple::func_checker::compare_gimple_switch): Strengthen
both params from gimple to const gswitch *.
(ipa_icf_gimple::func_checker::compare_gimple_return): Strengthen
both params from gimple to const greturn *.
(ipa_icf_gimple::func_checker::compare_gimple_resx): Strengthen
both params from gimple to const gresx *.
(ipa_icf_gimple::func_checker::compare_gimple_asm): Strengthen
both params from gimple to const gasm *.
* ipa-icf.c (ipa_icf_gimple::sem_function::compare_phi_node):
Strengthen locals "si1" and "si2" from gimple_stmt_iterator to
gphi_iterator, and locals "phi1" and "phi2" from gimple to gphi *.
* tree-ssa-forwprop.c (fold_all_stmts): Replace check against
GIMPLE_COND with a dyn_cast <gcond *>, introducing local
"cond_stmt". Use "cond_stmt" in place of "stmt" for typesafety.
* tree-ssa-reassoc.c (branch_fixup): Strengthen local "phi" from
gimple to gphi *.
2014-10-27 David Malcolm <dmalcolm@redhat.com>
* doc/gimple.texi (Class hierarchy of GIMPLE statements): Update
to reflect the new gimple subclasses and the renamings of existing
classes.
2014-10-27 David Malcolm <dmalcolm@redhat.com>
* gimple.h (struct gdebug): Remove out-of-date references to
typedefs.
(struct ggoto): Likewise.
(struct glabel): Likewise.
2014-10-27 David Malcolm <dmalcolm@redhat.com>
Patch autogenerated by rename_gimple_subclasses.py from
https://github.com/davidmalcolm/gcc-refactoring-scripts
revision 7d754b63ff2bf47226a67b2c0af5d74b54d4709f
* asan.c (get_mem_ref_of_assignment): Rename gimple subclass types.
(instrument_strlen_call): Likewise.
(instrument_builtin_call): Likewise.
(has_mem_ref_been_instrumented): Likewise.
(has_stmt_been_instrumented_p): Likewise.
(create_cond_insert_point): Likewise.
(asan_expand_check_ifn): Likewise.
* builtins.c (validate_arg): Likewise.
(do_mpc_arg2): Likewise.
* builtins.h (validate_gimple_arglist): Likewise.
(fold_call_stmt): Likewise.
* cfgexpand.c (mark_transaction_restart_calls): Likewise.
(expand_gimple_stmt): Likewise.
(expand_asm_operands): Likewise.
(label_rtx_for_bb): Likewise.
(expand_gimple_stmt_1): Likewise.
(maybe_cleanup_end_of_block): Likewise.
(expand_gimple_basic_block): Likewise.
* cfgloop.c (find_subloop_latch_edge_by_ivs): Likewise.
* cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
(create_empty_loop_on_edge): Likewise.
* cgraph.c (cgraph_add_edge_to_call_site_hash): Likewise.
(cgraph_allocate_init_indirect_info): Likewise.
(cgraph_set_edge_callee): Likewise.
(cgraph_update_edges_for_call_stmt_node): Likewise.
* cgraph.h (set_call_stmt_including_clones): Likewise.
(create_indirect_edge): Likewise.
(create_edge_including_clones): Likewise.
(set_call_stmt): Likewise.
(redirect_call_stmt_to_callee): Likewise.
(rebuild_references): Likewise.
(create_edge): Likewise.
* cgraphbuild.c (mark_store): Likewise.
(record_references_in_initializer): Likewise.
* cgraphclones.c (function): Likewise.
(clone_function_name): Likewise.
* cgraphunit.c (thunk_adjust): Likewise.
* coretypes.h: Likewise.
* expr.h (expand_normal): Likewise.
* gimple-builder.c (get_expr_type): Likewise.
(build_assign): Likewise.
(build_type_cast): Likewise.
* gimple-builder.h (build_assign): Likewise.
(build_type_cast): Likewise.
* gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise.
(gimple_fold_builtin_sprintf_chk): Likewise.
(gimple_fold_builtin_snprintf): Likewise.
(gimple_fold_builtin): Likewise.
(gimple_fold_call): Likewise.
(gimple_fold_stmt_to_constant_1): Likewise.
(fold_gimple_assign): Likewise.
(fold_stmt_1): Likewise.
* gimple-iterator.c (gsi_commit_one_edge_insert): Likewise.
(gsi_start_phis): Likewise.
* gimple-iterator.h (gsi_commit_one_edge_insert): Likewise.
(gimple_phi_iterator::phi): Likewise.
* gimple-low.c (lower_try_catch): Likewise.
(gimple_try_catch_may_fallthru): Likewise.
(lower_gimple_bind): Likewise.
(gimple_stmt_may_fallthru): Likewise.
(struct return_statements_t): Likewise.
(lower_gimple_return): Likewise.
(lower_stmt): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_target): Likewise.
(dump_gimple_omp_single): Likewise.
(dump_gimple_omp_continue): Likewise.
(dump_gimple_omp_teams): Likewise.
(dump_gimple_omp_parallel): Likewise.
(dump_gimple_phi): Likewise.
(dump_gimple_debug): Likewise.
(dump_gimple_omp_block): Likewise.
(dump_gimple_omp_for): Likewise.
(dump_gimple_omp_atomic_load): Likewise.
(dump_gimple_omp_task): Likewise.
(dump_gimple_bind): Likewise.
(dump_ssaname_info): Likewise.
(dump_phi_nodes): Likewise.
(gimple_dump_bb_for_graph): Likewise.
(dump_gimple_resx): Likewise.
(dump_gimple_eh_else): Likewise.
(dump_gimple_eh_must_not_throw): Likewise.
(dump_gimple_eh_filter): Likewise.
(dump_gimple_catch): Likewise.
(dump_gimple_try): Likewise.
(dump_gimple_goto): Likewise.
(dump_gimple_assign): Likewise.
(dump_gimple_omp_return): Likewise.
(dump_gimple_return): Likewise.
(pp_points_to_solution): Likewise.
(dump_gimple_transaction): Likewise.
(dump_gimple_fmt): Likewise.
(dump_unary_rhs): Likewise.
(dump_binary_rhs): Likewise.
(dump_ternary_rhs): Likewise.
(dump_gimple_call): Likewise.
(dump_gimple_cond): Likewise.
(pp_cfg_jump): Likewise.
(dump_gimple_label): Likewise.
(dump_gimple_eh_dispatch): Likewise.
(dump_gimple_switch): Likewise.
(pp_gimple_stmt_1): Likewise.
* gimple-ssa-isolate-paths.c (isolate_path): Likewise.
(find_implicit_erroneous_behaviour): Likewise.
(find_explicit_erroneous_behaviour): Likewise.
(insert_trap_and_remove_trailing_statements): Likewise.
* gimple-ssa-strength-reduction.c (slsr_process_copy): Likewise.
(add_cand_for_stmt): Likewise.
(create_phi_basis): Likewise.
(ncd_for_two_cands): Likewise.
(ncd_with_phi): Likewise.
(ncd_of_cand_and_phis): Likewise.
(replace_mult_candidate): Likewise.
(create_add_on_incoming_edge): Likewise.
(insert_initializers): Likewise.
(introduce_cast_before_cand): Likewise.
(replace_one_candidate): Likewise.
* gimple-streamer-in.c (input_phi): Likewise.
(input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_phi): Likewise.
(output_bb): Likewise.
(output_gimple_stmt): Likewise.
* gimple-walk.c (walk_gimple_stmt): Likewise.
(walk_gimple_seq): Likewise.
(walk_gimple_op): Likewise.
(walk_stmt_load_store_addr_ops): Likewise.
* gimple.c (gimple_build_omp_target): Likewise.
(gimple_build_omp_sections_switch): Likewise.
(gimple_build_omp_single): Likewise.
(gimple_build_omp_return): Likewise.
(gimple_build_omp_sections): Likewise.
(gimple_build_omp_task): Likewise.
(gimple_build_omp_parallel): Likewise.
(gimple_build_omp_for): Likewise.
(gimple_build_omp_critical): Likewise.
(gimple_build_omp_taskgroup): Likewise.
(gimple_build_omp_continue): Likewise.
(gimple_build_omp_teams): Likewise.
(gimple_build_omp_atomic_load): Likewise.
(gimple_build_try): Likewise.
(gimple_build_wce): Likewise.
(gimple_build_eh_else): Likewise.
(gimple_build_eh_must_not_throw): Likewise.
(gimple_build_eh_filter): Likewise.
(gimple_build_catch): Likewise.
(gimple_build_nop): Likewise.
(empty_stmt_p): Likewise.
(gimple_build_with_ops_stat): Likewise.
(infer_nonnull_range): Likewise.
(gimple_build_omp_atomic_store): Likewise.
(gimple_build_transaction): Likewise.
(gimple_copy): Likewise.
(gimple_call_flags): Likewise.
(gimple_call_fnspec): Likewise.
(gimple_call_arg_flags): Likewise.
(gimple_build_return): Likewise.
(gimple_call_reset_alias_info): Likewise.
(gimple_build_call_1): Likewise.
(gimple_build_call_vec): Likewise.
(gimple_build_call): Likewise.
(gimple_build_call_valist): Likewise.
(gimple_build_call_internal_1): Likewise.
(gimple_build_call_internal): Likewise.
(gimple_build_call_internal_vec): Likewise.
(canonicalize_cond_expr_cond): Likewise.
(gimple_call_copy_skip_args): Likewise.
(gimple_has_side_effects): Likewise.
(gimple_call_builtin_p): Likewise.
(gimple_build_bind): Likewise.
(gimple_build_asm_vec): Likewise.
(gimple_could_trap_p_1): Likewise.
(gimple_build_asm_1): Likewise.
(gimple_build_call_from_tree): Likewise.
(gimple_build_assign_stat): Likewise.
(gimple_build_resx): Likewise.
(gimple_build_switch_nlabels): Likewise.
(gimple_build_switch): Likewise.
(gimple_cond_set_condition_from_tree): Likewise.
(gimple_set_bb): Likewise.
(gimple_build_label): Likewise.
(gimple_build_goto): Likewise.
(gimple_build_eh_dispatch): Likewise.
(gimple_build_debug_bind_stat): Likewise.
(gimple_build_debug_source_bind_stat): Likewise.
(gimple_build_assign_with_ops): Likewise.
(gimple_build_cond): Likewise.
(gimple_build_cond_from_tree): Likewise.
* gimple.h (gimple_build_omp_target): Likewise.
(gimple_omp_teams_clauses): Likewise.
(gimple_omp_teams_clauses_ptr): Likewise.
(gimple_omp_target_set_kind): Likewise.
(gimple_omp_target_set_child_fn): Likewise.
(gimple_build_omp_single): Likewise.
(gimple_omp_target_kind): Likewise.
(gimple_omp_target_child_fn): Likewise.
(gimple_omp_target_child_fn_ptr): Likewise.
(gimple_omp_target_data_arg): Likewise.
(gimple_omp_target_data_arg_ptr): Likewise.
(gimple_omp_target_clauses): Likewise.
(gimple_omp_target_clauses_ptr): Likewise.
(gimple_build_omp_sections_switch): Likewise.
(gimple_omp_single_clauses): Likewise.
(gimple_omp_single_clauses_ptr): Likewise.
(gimple_build_omp_return): Likewise.
(gimple_omp_sections_clauses): Likewise.
(gimple_omp_sections_clauses_ptr): Likewise.
(gimple_omp_sections_set_clauses): Likewise.
(gimple_omp_sections_control): Likewise.
(gimple_omp_sections_control_ptr): Likewise.
(gimple_omp_sections_set_control): Likewise.
(gimple_build_omp_parallel): Likewise.
(gimple_omp_task_clauses): Likewise.
(gimple_omp_task_clauses_ptr): Likewise.
(gimple_omp_task_set_clauses): Likewise.
(gimple_omp_task_child_fn): Likewise.
(gimple_omp_task_child_fn_ptr): Likewise.
(gimple_omp_task_set_child_fn): Likewise.
(gimple_omp_task_data_arg): Likewise.
(gimple_omp_task_data_arg_ptr): Likewise.
(gimple_omp_task_set_data_arg): Likewise.
(gimple_omp_task_copy_fn): Likewise.
(gimple_omp_task_copy_fn_ptr): Likewise.
(gimple_omp_task_set_copy_fn): Likewise.
(gimple_omp_task_arg_size): Likewise.
(gimple_omp_task_arg_size_ptr): Likewise.
(gimple_omp_task_set_arg_size): Likewise.
(gimple_omp_task_arg_align): Likewise.
(gimple_omp_task_arg_align_ptr): Likewise.
(gimple_omp_task_set_arg_align): Likewise.
(gimple_omp_parallel_set_clauses): Likewise.
(gimple_omp_parallel_set_child_fn): Likewise.
(gimple_build_omp_for): Likewise.
(gimple_omp_parallel_clauses_ptr): Likewise.
(gimple_omp_parallel_child_fn): Likewise.
(gimple_omp_parallel_child_fn_ptr): Likewise.
(gimple_omp_parallel_data_arg): Likewise.
(gimple_omp_parallel_data_arg_ptr): Likewise.
(gimple_omp_parallel_clauses): Likewise.
(gimple_build_omp_critical): Likewise.
(gimple_omp_for_kind): Likewise.
(gimple_omp_for_combined_p): Likewise.
(gimple_omp_for_combined_into_p): Likewise.
(gimple_omp_for_clauses): Likewise.
(gimple_omp_for_clauses_ptr): Likewise.
(gimple_omp_for_set_clauses): Likewise.
(gimple_omp_for_collapse): Likewise.
(gimple_omp_for_index): Likewise.
(gimple_omp_for_index_ptr): Likewise.
(gimple_omp_for_set_index): Likewise.
(gimple_omp_for_initial): Likewise.
(gimple_omp_for_initial_ptr): Likewise.
(gimple_omp_for_set_initial): Likewise.
(gimple_omp_for_final): Likewise.
(gimple_omp_for_final_ptr): Likewise.
(gimple_omp_for_set_final): Likewise.
(gimple_omp_for_incr): Likewise.
(gimple_omp_for_incr_ptr): Likewise.
(gimple_omp_for_set_incr): Likewise.
(gimple_omp_for_pre_body_ptr): Likewise.
(gimple_omp_for_set_pre_body): Likewise.
(gimple_omp_for_set_cond): Likewise.
(gimple_omp_set_body): Likewise.
(gimple_build_debug_source_bind_stat): Likewise.
(gimple_omp_critical_name): Likewise.
(gimple_omp_critical_name_ptr): Likewise.
(gimple_omp_atomic_load_rhs_ptr): Likewise.
(gimple_omp_continue_set_control_def): Likewise.
(gimple_build_omp_taskgroup): Likewise.
(gimple_omp_continue_control_def): Likewise.
(gimple_omp_continue_control_def_ptr): Likewise.
(gimple_omp_continue_control_use): Likewise.
(gimple_omp_continue_control_use_ptr): Likewise.
(gimple_omp_atomic_store_set_val): Likewise.
(gimple_build_omp_atomic_load): Likewise.
(gimple_omp_for_cond): Likewise.
(gimple_omp_atomic_store_val): Likewise.
(gimple_omp_atomic_load_set_lhs): Likewise.
(gimple_omp_atomic_load_set_rhs): Likewise.
(gimple_build_omp_teams): Likewise.
(gimple_omp_atomic_store_val_ptr): Likewise.
(gimple_omp_atomic_load_lhs): Likewise.
(gimple_omp_atomic_load_lhs_ptr): Likewise.
(gimple_omp_atomic_load_rhs): Likewise.
(gimple_try_kind): Likewise.
(gimple_try_cleanup): Likewise.
(gimple_try_set_catch_is_cleanup): Likewise.
(gimple_try_set_eval): Likewise.
(gimple_build_eh_else): Likewise.
(gimple_try_eval_ptr): Likewise.
(gimple_try_cleanup_ptr): Likewise.
(gimple_phi_capacity): Likewise.
(gimple_phi_num_args): Likewise.
(gimple_phi_result): Likewise.
(gimple_phi_result_ptr): Likewise.
(gimple_phi_arg): Likewise.
(gimple_phi_arg_def): Likewise.
(gimple_phi_arg_def_ptr): Likewise.
(gimple_phi_arg_edge): Likewise.
(gimple_phi_arg_location): Likewise.
(gimple_phi_arg_location_from_edge): Likewise.
(gimple_phi_arg_set_location): Likewise.
(gimple_resx_set_region): Likewise.
(gimple_build_switch): Likewise.
(gimple_eh_dispatch_region): Likewise.
(gimple_phi_arg_has_location): Likewise.
(gimple_build_wce): Likewise.
(gimple_resx_region): Likewise.
(gimple_build_eh_must_not_throw): Likewise.
(gimple_eh_must_not_throw_set_fndecl): Likewise.
(gimple_eh_else_n_body_ptr): Likewise.
(gimple_eh_else_n_body): Likewise.
(gimple_eh_else_e_body_ptr): Likewise.
(gimple_eh_else_e_body): Likewise.
(gimple_eh_else_set_n_body): Likewise.
(gimple_build_eh_filter): Likewise.
(gimple_eh_filter_set_failure): Likewise.
(gimple_eh_must_not_throw_fndecl): Likewise.
(gimple_build_catch): Likewise.
(gimple_eh_filter_failure): Likewise.
(gimple_eh_filter_set_types): Likewise.
(gimple_eh_filter_types): Likewise.
(gimple_eh_filter_types_ptr): Likewise.
(gimple_eh_filter_failure_ptr): Likewise.
(gimple_asm_input_p): Likewise.
(gimple_build_asm_vec): Likewise.
(gimple_catch_types): Likewise.
(gimple_catch_types_ptr): Likewise.
(gimple_catch_handler_ptr): Likewise.
(gimple_catch_handler): Likewise.
(gimple_catch_set_types): Likewise.
(gimple_statement_catch): Likewise.
(gimple_goto_set_dest): Likewise.
(gimple_bind_add_seq): Likewise.
(gimple_build_nop): Likewise.
(gimple_seq_first_stmt): Likewise.
(gimple_seq_first_stmt_as_a_bind): Likewise.
(gimple_bind_vars): Likewise.
(gimple_bind_set_vars): Likewise.
(gimple_bind_append_vars): Likewise.
(gimple_bind_body_ptr): Likewise.
(gimple_bind_body): Likewise.
(gimple_bind_set_body): Likewise.
(gimple_bind_add_stmt): Likewise.
(gimple_bind_block): Likewise.
(gimple_transaction_set_subcode): Likewise.
(gimple_return_retval_ptr): Likewise.
(gimple_alloc_stat): Likewise.
(gimple_return_retval): Likewise.
(gimple_transaction_body): Likewise.
(gimple_transaction_label_ptr): Likewise.
(gimple_build_omp_atomic_store): Likewise.
(gimple_omp_continue_set_control_use): Likewise.
(gimple_transaction_body_ptr): Likewise.
(gimple_transaction_label): Likewise.
(gimple_transaction_subcode): Likewise.
(gimple_transaction_set_body): Likewise.
(gimple_transaction_set_label): Likewise.
(gimple_call_arg_flags): Likewise.
(gimple_call_return_flags): Likewise.
(gimple_call_fndecl): Likewise.
(gimple_call_chain): Likewise.
(gimple_expr_type): Likewise.
(gimple_call_reset_alias_info): Likewise.
(gimple_build_call_vec): Likewise.
(gimple_build_call): Likewise.
(gimple_build_call_valist): Likewise.
(gimple_build_call_internal): Likewise.
(gimple_build_call_internal_vec): Likewise.
(canonicalize_cond_expr_cond): Likewise.
(gimple_call_copy_skip_args): Likewise.
(gimple_call_fn_ptr): Likewise.
(gimple_call_set_fndecl): Likewise.
(gimple_call_chain_ptr): Likewise.
(gimple_call_set_arg): Likewise.
(gimple_call_set_tail): Likewise.
(gimple_call_tail_p): Likewise.
(gimple_call_set_return_slot_opt): Likewise.
(gimple_call_return_slot_opt_p): Likewise.
(gimple_call_set_from_thunk): Likewise.
(gimple_call_from_thunk_p): Likewise.
(gimple_call_set_va_arg_pack): Likewise.
(gimple_call_noreturn_p): Likewise.
(gimple_call_set_nothrow): Likewise.
(gimple_call_nothrow_p): Likewise.
(gimple_call_set_alloca_for_var): Likewise.
(gimple_call_alloca_for_var_p): Likewise.
(gimple_call_copy_flags): Likewise.
(gimple_call_use_set): Likewise.
(gimple_statement_call): Likewise.
(gimple_call_internal_fn): Likewise.
(gimple_call_fntype): Likewise.
(gimple_asm_clobbers_memory_p): Likewise.
(gimple_bind_set_block): Likewise.
(gimple_asm_ninputs): Likewise.
(gimple_asm_noutputs): Likewise.
(gimple_asm_nclobbers): Likewise.
(gimple_asm_nlabels): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_set_input_op): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_asm_string): Likewise.
(gimple_asm_set_input): Likewise.
(gimple_build_bind): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_volatile_p): Likewise.
(gimple_asm_set_volatile): Likewise.
(gimple_assign_set_rhs_with_ops): Likewise.
(gimple_build_call_from_tree): Likewise.
(gimple_build_assign_stat): Likewise.
(gimple_eh_dispatch_set_region): Likewise.
(gimple_switch_set_num_labels): Likewise.
(gimple_switch_index): Likewise.
(gimple_switch_set_index): Likewise.
(gimple_switch_set_label): Likewise.
(gimple_build_resx): Likewise.
(gimple_build_switch_nlabels): Likewise.
(gimple_switch_num_labels): Likewise.
(gimple_switch_index_ptr): Likewise.
(gimple_switch_label): Likewise.
(gimple_switch_default_label): Likewise.
(gimple_cond_set_condition): Likewise.
(gimple_label_label): Likewise.
(gimple_build_label): Likewise.
(gimple_goto_dest): Likewise.
(gimple_build_eh_dispatch): Likewise.
(gimple_build_debug_bind_stat): Likewise.
(gimple_cond_lhs): Likewise.
(gimple_cond_rhs): Likewise.
(gimple_cond_set_rhs): Likewise.
(gimple_cond_set_false_label): Likewise.
(gimple_cond_make_true): Likewise.
(gimple_cond_true_p): Likewise.
(gimple_build_assign_with_ops): Likewise.
(gimple_build_cond): Likewise.
(gimple_cond_set_condition_from_tree): Likewise.
(gimple_cond_code): Likewise.
(gimple_cond_lhs_ptr): Likewise.
(gimple_cond_rhs_ptr): Likewise.
(gimple_cond_true_label): Likewise.
(gimple_cond_set_true_label): Likewise.
(gimple_cond_false_label): Likewise.
(gimple_cond_make_false): Likewise.
(gimple_cond_false_p): Likewise.
(gimple_statement_cond): Likewise.
(is_a_helper <gimple_statement_cond *>): Likewise.
* gimplify-me.c (gimple_regimplify_operands): Likewise.
* gimplify.c (gimplify_omp_target_update): Likewise.
(gimplify_omp_for): Likewise.
(gimplify_omp_atomic): Likewise.
(gimplify_cleanup_point_expr): Likewise.
(struct gimplify_ctx): Likewise.
(pop_gimplify_context): Likewise.
(gimple_pop_bind_expr): Likewise.
(gimple_current_bind_expr): Likewise.
(declare_vars): Likewise.
(gimplify_one_sizepos): Likewise.
(gimplify_body): Likewise.
(gimplify_return_expr): Likewise.
(gimplify_transaction): Likewise.
(voidify_wrapper_expr): Likewise.
(gimplify_bind_expr): Likewise.
(gimplify_call_expr): Likewise.
(gimplify_modify_expr_to_memcpy): Likewise.
(gimplify_modify_expr_to_memset): Likewise.
(gimplify_modify_expr): Likewise.
(gimplify_expr): Likewise.
(gimplify_function_tree): Likewise.
(gimplify_asm_expr): Likewise.
(gimplify_init_constructor): Likewise.
(gimple_push_cleanup): Likewise.
(gimplify_switch_expr): Likewise.
(gimplify_case_label_expr): Likewise.
(gimplify_cond_expr): Likewise.
* gimplify.h (pop_gimplify_context): Likewise.
(gimple_current_bind_expr): Likewise.
(gimplify_one_sizepos): Likewise.
* graphite-scop-detection.c (limit_scops): Likewise.
(same_close_phi_node): Likewise.
(make_close_phi_nodes_unique): Likewise.
(canonicalize_loop_closed_ssa): Likewise.
* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Likewise.
(simple_copy_phi_p): Likewise.
(gsi_for_phi_node): Likewise.
(rewrite_close_phi_out_of_ssa): Likewise.
(rewrite_cross_bb_scalar_deps): Likewise.
(rewrite_commutative_reductions_out_of_ssa_loop): Likewise.
(tree_int_to_gmp): Likewise.
(reduction_phi_p): Likewise.
(build_scop_drs): Likewise.
(rewrite_phi_out_of_ssa): Likewise.
(rewrite_degenerate_phi): Likewise.
(rewrite_reductions_out_of_ssa): Likewise.
(is_reduction_operation_p): Likewise.
(phi_contains_arg): Likewise.
(follow_ssa_with_commutative_ops): Likewise.
(detect_commutative_reduction_arg): Likewise.
(detect_commutative_reduction_assign): Likewise.
(follow_inital_value_to_phi): Likewise.
(edge_initial_value_for_loop_phi): Likewise.
(used_outside_reduction): Likewise.
(detect_commutative_reduction): Likewise.
(dr_indices_valid_in_loop): Likewise.
(translate_scalar_reduction_to_array): Likewise.
(scop_ivs_can_be_represented): Likewise.
(remove_simple_copy_phi): Likewise.
(remove_invariant_phi): Likewise.
(insert_out_of_ssa_copy): Likewise.
(translate_scalar_reduction_to_array_for_stmt): Likewise.
(create_pw_aff_from_tree): Likewise.
(add_conditions_to_domain): Likewise.
(add_conditions_to_constraints): Likewise.
(single_pred_cond_non_loop_exit): Likewise.
* gsstruct.def: Likewise.
* internal-fn.c (get_multi_vector_move): Likewise.
(expand_LOAD_LANES): Likewise.
(expand_STORE_LANES): Likewise.
(expand_ANNOTATE): Likewise.
(expand_GOMP_SIMD_LANE): Likewise.
(expand_GOMP_SIMD_VF): Likewise.
(expand_GOMP_SIMD_LAST_LANE): Likewise.
(expand_UBSAN_NULL): Likewise.
(expand_UBSAN_BOUNDS): Likewise.
(expand_UBSAN_OBJECT_SIZE): Likewise.
(expand_ASAN_CHECK): Likewise.
(ubsan_expand_si_overflow_addsub_check): Likewise.
(ubsan_expand_si_overflow_neg_check): Likewise.
(ubsan_expand_si_overflow_mul_check): Likewise.
(expand_UBSAN_CHECK_ADD): Likewise.
(expand_UBSAN_CHECK_SUB): Likewise.
(expand_UBSAN_CHECK_MUL): Likewise.
(expand_LOOP_VECTORIZED): Likewise.
(expand_MASK_LOAD): Likewise.
(expand_MASK_STORE): Likewise.
(expand_ABNORMAL_DISPATCHER): Likewise.
(expand_BUILTIN_EXPECT): Likewise.
* internal-fn.h (internal_fn_fnspec): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
(phi_result_unknown_predicate): Likewise.
(set_switch_stmt_execution_predicate): Likewise.
* ipa-prop.c (param_type_may_change_p): Likewise.
(detect_type_change_from_memory_writes): Likewise.
(detect_type_change): Likewise.
(ipa_load_from_parm_agg): Likewise.
(get_ancestor_addr_info): Likewise.
(compute_complex_ancestor_jump_func): Likewise.
(build_agg_jump_func_from_list): Likewise.
(ipa_compute_jump_functions_for_edge): Likewise.
(ipa_is_ssa_with_stmt_def): Likewise.
(ipa_note_param_call): Likewise.
(ipa_analyze_indirect_call_uses): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.
(ipa_analyze_stmt_uses): Likewise.
(ipa_modify_formal_parameters): Likewise.
(ipa_modify_call_arguments): Likewise.
* ipa-prop.h (ipa_get_agg_replacements_for_node): Likewise.
* ipa-pure-const.c (special_builtin_state): Likewise.
(check_stmt): Likewise.
* ipa-split.c (consider_split): Likewise.
(visit_bb): Likewise.
(find_return_bb): Likewise.
(find_retval): Likewise.
(split_function): Likewise.
(verify_non_ssa_vars): Likewise.
(check_forbidden_calls): Likewise.
* lto-streamer-in.c (fixup_call_stmt_edges_1): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* omp-low.c (scan_omp_target): Likewise.
(scan_omp_single): Likewise.
(expand_omp_target): Likewise.
(scan_omp_sections): Likewise.
(lower_omp_single_simple): Likewise.
(scan_omp_for): Likewise.
(new_omp_context): Likewise.
(delete_omp_context): Likewise.
(scan_omp_task): Likewise.
(expand_cilk_for_call): Likewise.
(task_copyfn_remap_type): Likewise.
(gimple_build_cond_empty): Likewise.
(remove_exit_barrier): Likewise.
(expand_omp_taskreg): Likewise.
(expand_cilk_for): Likewise.
(struct omp_for_data): Likewise.
(is_combined_parallel): Likewise.
(workshare_safe_to_combine_p): Likewise.
(get_ws_args_for): Likewise.
(scan_omp_parallel): Likewise.
(finish_taskreg_scan): Likewise.
(expand_omp_for): Likewise.
(check_omp_nesting_restrictions): Likewise.
(expand_omp_sections): Likewise.
(expand_omp_atomic): Likewise.
(expand_parallel_call): Likewise.
(finalize_task_copyfn): Likewise.
(scan_omp_1_stmt): Likewise.
(lower_omp_sections): Likewise.
(lower_omp_single): Likewise.
(lower_omp_master): Likewise.
(lower_omp_critical): Likewise.
(lower_omp_for): Likewise.
(lower_omp_taskreg): Likewise.
(lower_omp_target): Likewise.
(lower_omp_teams): Likewise.
(ipa_simd_modify_function_body): Likewise.
(build_omp_barrier): Likewise.
(lower_omp_taskgroup): Likewise.
(lower_omp_ordered): Likewise.
(simd_clone_adjust): Likewise.
(lower_rec_input_clauses): Likewise.
(expand_omp_for_init_vars): Likewise.
(expand_omp_atomic_pipeline): Likewise.
(expand_omp_atomic_mutex): Likewise.
(diagnose_sb_1): Likewise.
(lower_lastprivate_clauses): Likewise.
(lower_send_shared_vars): Likewise.
(expand_omp_for_init_counts): Likewise.
(expand_omp_for_generic): Likewise.
(expand_omp_for_static_nochunk): Likewise.
(expand_omp_for_static_chunk): Likewise.
(expand_omp_simd): Likewise.
(lower_omp_1): Likewise.
(diagnose_sb_2): Likewise.
* predict.c (apply_return_prediction): Likewise.
(tree_estimate_probability_bb): Likewise.
(get_base_value): Likewise.
(predict_iv_comparison): Likewise.
(predict_extra_loop_exits): Likewise.
(predict_loops): Likewise.
* sese.c (sese_build_liveouts_bb): Likewise.
(sese_add_exit_phis_edge): Likewise.
(set_ifsese_condition): Likewise.
* ssa-iterators.h (for): Likewise.
(num_ssa_operands): Likewise.
(single_phi_def): Likewise.
(op_iter_init_phiuse): Likewise.
(link_use_stmts_after): Likewise.
(op_iter_init): Likewise.
* stmt.c (reset_out_edges_aux): Likewise.
(compute_cases_per_edge): Likewise.
* trans-mem.c (diagnose_tm_1): Likewise.
(lower_transaction): Likewise.
(tm_region_init): Likewise.
(generate_tm_state): Likewise.
(make_pass_lower_tm): Likewise.
(transaction_subcode_ior): Likewise.
(build_tm_load): Likewise.
(build_tm_store): Likewise.
(expand_transaction): Likewise.
(expand_block_edges): Likewise.
(dump_tm_memopt_transform): Likewise.
(tm_memopt_transform_blocks): Likewise.
(ipa_tm_insert_irr_call): Likewise.
(ipa_tm_transform_calls_redirect): Likewise.
(expand_call_tm): Likewise.
(ipa_tm_insert_gettmclone_call): Likewise.
* tree-call-cdce.c (check_target_format): Likewise.
(check_pow): Likewise.
(check_builtin_call): Likewise.
(gen_conditions_for_pow_int_base): Likewise.
(get_no_error_domain): Likewise.
(gen_shrink_wrap_conditions): Likewise.
(shrink_wrap_one_built_in_call): Likewise.
(shrink_wrap_conditional_dead_built_in_calls): Likewise.
(gen_one_condition): Likewise.
* tree-cfg.c (replace_uses_by): Likewise.
(reinstall_phi_args): Likewise.
(verify_gimple_in_cfg): Likewise.
(gimple_make_forwarder_block): Likewise.
(gimple_duplicate_bb): Likewise.
(add_phi_args_after_copy_edge): Likewise.
(gimple_duplicate_sese_tail): Likewise.
(gimple_lv_adjust_loop_header_phi): Likewise.
(move_stmt_r): Likewise.
(do_warn_unused_result): Likewise.
(verify_gimple_assign): Likewise.
(extract_true_false_edges_from_block): Likewise.
(verify_gimple_transaction): Likewise.
(verify_gimple_in_seq_2): Likewise.
(single_noncomplex_succ): Likewise.
(valid_fixed_convert_types_p): Likewise.
(make_gimple_asm_edges): Likewise.
(is_ctrl_altering_stmt): Likewise.
(need_fake_edge_p): Likewise.
(verify_gimple_comparison): Likewise.
(verify_gimple_assign_unary): Likewise.
(verify_gimple_assign_binary): Likewise.
(verify_gimple_assign_ternary): Likewise.
(verify_gimple_assign_single): Likewise.
(make_gimple_switch_edges): Likewise.
(find_case_label_for_value): Likewise.
(end_recording_case_labels): Likewise.
(get_cases_for_edge): Likewise.
(group_case_labels): Likewise.
(find_taken_edge): Likewise.
(find_taken_edge_cond_expr): Likewise.
(find_taken_edge_switch_expr): Likewise.
(verify_gimple_goto): Likewise.
(gimple_redirect_edge_and_branch): Likewise.
(make_edges): Likewise.
(gimple_can_merge_blocks_p): Likewise.
(gimple_merge_blocks): Likewise.
(remove_bb): Likewise.
(stmt_starts_bb_p): Likewise.
(verify_gimple_debug): Likewise.
(gimple_verify_flow_info): Likewise.
(gimple_block_label): Likewise.
(move_block_to_fn): Likewise.
(verify_gimple_return): Likewise.
(fold_cond_expr_cond): Likewise.
(make_cond_expr_edges): Likewise.
(cleanup_dead_labels): Likewise.
(verify_gimple_label): Likewise.
(verify_gimple_stmt): Likewise.
* tree-cfg.h (notice_special_calls): Likewise.
(group_case_labels_stmt): Likewise.
* tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
(cleanup_control_expr_graph): Likewise.
(tree_forwarder_block_p): Likewise.
(remove_forwarder_block): Likewise.
(remove_forwarder_block_with_phi): Likewise.
* tree-complex.c (init_dont_simulate_again): Likewise.
(complex_visit_stmt): Likewise.
(update_phi_components): Likewise.
(expand_complex_move): Likewise.
(expand_complex_libcall): Likewise.
(expand_complex_asm): Likewise.
(expand_complex_comparison): Likewise.
* tree-data-ref.c (get_references_in_stmt): Likewise.
* tree-dfa.c (collect_dfa_stats): Likewise.
(dump_dfa_stats): Likewise.
* tree-eh.c (lookup_stmt_eh_lp): Likewise.
(record_in_finally_tree): Likewise.
(collect_finally_tree_1): Likewise.
(outside_finally_tree): Likewise.
(eh_region_may_contain_throw): Likewise.
(lower_try_finally_dup_block): Likewise.
(cleanup_is_dead_in): Likewise.
(lower_try_finally): Likewise.
(lower_eh_filter): Likewise.
(same_handler_p): Likewise.
(cleanup_empty_eh_merge_phis): Likewise.
(emit_eh_dispatch): Likewise.
(make_pass_lower_eh): Likewise.
(redirect_eh_edge): Likewise.
(sink_clobbers): Likewise.
(lower_eh_dispatch): Likewise.
(verify_eh_edges): Likewise.
(emit_resx): Likewise.
(make_pass_refactor_eh): Likewise.
(lower_resx): Likewise.
(mark_reachable_handlers): Likewise.
(lower_try_finally_fallthru_label): Likewise.
(get_eh_else): Likewise.
(lower_try_finally_nofallthru): Likewise.
(lower_try_finally_copy): Likewise.
(lower_try_finally_switch): Likewise.
(decide_copy_try_finally): Likewise.
(honor_protect_cleanup_actions): Likewise.
(lower_eh_must_not_throw): Likewise.
(replace_goto_queue_1): Likewise.
(lower_catch): Likewise.
(refactor_eh_r): Likewise.
(stmt_could_throw_p): Likewise.
(lower_eh_constructs_2): Likewise.
(collect_finally_tree): Likewise.
(emit_post_landing_pad): Likewise.
(lower_try_finally_onedest): Likewise.
(unsplit_eh): Likewise.
(cleanup_empty_eh_unsplit): Likewise.
(do_goto_redirection): Likewise.
(maybe_record_in_goto_queue): Likewise.
* tree-eh.h (make_eh_dispatch_edges): Likewise.
(redirect_eh_dispatch_edge): Likewise.
(verify_eh_dispatch_edge): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
(lower_emutls_stmt): Likewise.
(gen_emutls_addr): Likewise.
* tree-if-conv.c (if_convertible_loop_p_1): Likewise.
(bb_with_exit_edge_p): Likewise.
(convert_scalar_cond_reduction): Likewise.
(predicate_all_scalar_phis): Likewise.
* tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
(copy_phis_for_bb): Likewise.
(copy_edges_for_bb): Likewise.
(remap_gimple_seq): Likewise.
(replace_locals_stmt): Likewise.
(copy_bb): Likewise.
(inline_forbidden_p_stmt): Likewise.
(expand_call_inline): Likewise.
(estimate_num_insns): Likewise.
(mark_local_labels_stmt): Likewise.
(remap_gimple_stmt): Likewise.
(maybe_move_debug_stmts_to_successors): Likewise.
(copy_cfg_body): Likewise.
(copy_debug_stmts): Likewise.
* tree-inline.h (void): Likewise.
* tree-into-ssa.c (node): Likewise.
(find_def_blocks_for): Likewise.
(mark_phi_for_rewrite): Likewise.
(insert_phi_nodes_for): Likewise.
(rewrite_add_phi_arguments): Likewise.
(rewrite_update_phi_arguments): Likewise.
(mark_use_interesting): Likewise.
(prepare_block_for_update): Likewise.
(prepare_use_sites_for): Likewise.
(delete_update_ssa): Likewise.
(mark_virtual_operand_for_renaming): Likewise.
* tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
* tree-loop-distribution.c (stmts_from_loop): Likewise.
(destroy_loop): Likewise.
(distribute_loop): Likewise.
(generate_loops_for_partition): Likewise.
* tree-nested.c (walk_function): Likewise.
(convert_nonlocal_reference_stmt): Likewise.
(convert_local_reference_stmt): Likewise.
(finalize_nesting_tree_1): Likewise.
(get_chain_field): Likewise.
(convert_nl_goto_reference): Likewise.
(convert_tramp_reference_op): Likewise.
(convert_gimple_call): Likewise.
(convert_nl_goto_receiver): Likewise.
* tree-nrv.c (finalize_nrv_r): Likewise.
(make_pass_nrv): Likewise.
(dest_safe_for_nrv_p): Likewise.
* tree-object-size.c (pass_through_call): Likewise.
(addr_object_size): Likewise.
(alloc_object_size): Likewise.
(expr_object_size): Likewise.
(collect_object_sizes_for): Likewise.
(check_for_plus_in_loops_1): Likewise.
(fini_object_sizes): Likewise.
* tree-outof-ssa.c (eliminate_build): Likewise.
(eliminate_phi): Likewise.
(remove_gimple_phi_args): Likewise.
(eliminate_useless_phis): Likewise.
(rewrite_trees): Likewise.
(insert_backedge_copies): Likewise.
* tree-parloops.c (printf): Likewise.
(create_phi_for_local_result): Likewise.
(loop_has_vector_phi_nodes): Likewise.
(gather_scalar_reductions): Likewise.
(try_create_reduction_list): Likewise.
(take_address_of): Likewise.
(transform_to_exit_first_loop): Likewise.
(create_parallel_loop): Likewise.
* tree-phinodes.c (remove_phi_args): Likewise.
(phinodes_print_statistics): Likewise.
(release_phi_node): Likewise.
(reserve_phi_args_for_new_edge): Likewise.
(add_phi_node_to_bb): Likewise.
(create_phi_node): Likewise.
(add_phi_arg): Likewise.
(remove_phi_nodes): Likewise.
(allocate_phi_node): Likewise.
(ideal_phi_node_len): Likewise.
(make_phi_node): Likewise.
(resize_phi_node): Likewise.
* tree-phinodes.h (add_phi_node_to_bb): Likewise.
(add_phi_arg): Likewise.
(degenerate_phi_result): Likewise.
* tree-predcom.c (valid_initializer_p): Likewise.
(find_looparound_phi): Likewise.
(add_looparound_copies): Likewise.
(initialize_root_vars): Likewise.
(eliminate_temp_copies): Likewise.
(replace_ref_with): Likewise.
(initialize_root_vars_lm): Likewise.
(reassociate_to_the_same_stmt): Likewise.
* tree-profile.c (gimple_gen_interval_profiler): Likewise.
(gimple_gen_pow2_profiler): Likewise.
(gimple_gen_one_value_profiler): Likewise.
(gimple_gen_time_profiler): Likewise.
(gimple_gen_average_profiler): Likewise.
(gimple_gen_ior_profiler): Likewise.
(gimple_gen_edge_profiler): Likewise.
(gimple_gen_ic_profiler): Likewise.
(gimple_gen_ic_func_profiler): Likewise.
* tree-scalar-evolution.c (follow_ssa_edge_binary): Likewise.
(follow_ssa_edge_expr): Likewise.
(follow_ssa_edge_in_rhs): Likewise.
(backedge_phi_arg_p): Likewise.
(follow_ssa_edge_in_condition_phi_branch): Likewise.
(follow_ssa_edge_in_condition_phi): Likewise.
(follow_ssa_edge_inner_loop_phi): Likewise.
(follow_ssa_edge): Likewise.
(simplify_peeled_chrec): Likewise.
(analyze_evolution_in_loop): Likewise.
(analyze_initial_condition): Likewise.
(interpret_loop_phi): Likewise.
(analyze_scalar_evolution_1): Likewise.
(loop_closed_phi_def): Likewise.
(scev_const_prop): Likewise.
(add_to_evolution): Likewise.
(get_loop_exit_condition): Likewise.
* tree-scalar-evolution.h (number_of_latch_executions): Likewise.
* tree-sra.c (replace_removed_params_ssa_names): Likewise.
(convert_callers): Likewise.
(scan_function): Likewise.
(sra_modify_function_body): Likewise.
(ipa_sra_modify_function_body): Likewise.
(build_ref_for_offset): Likewise.
(generate_subtree_copies): Likewise.
(init_subtree_with_zero): Likewise.
(sra_modify_expr): Likewise.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Likewise.
(sra_ipa_reset_debug_stmts): Likewise.
* tree-ssa-alias.c (refs_output_dependent_p): Likewise.
(ref_maybe_used_by_call_p_1): Likewise.
(ref_maybe_used_by_stmt_p): Likewise.
(call_may_clobber_ref_p_1): Likewise.
(stmt_may_clobber_ref_p_1): Likewise.
* tree-ssa-alias.h (call_may_clobber_ref_p): Likewise.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-ccp.c (ccp_initialize): Likewise.
(ccp_lattice_meet): Likewise.
(insert_clobber_before_stack_restore): Likewise.
(ccp_fold): Likewise.
(evaluate_stmt): Likewise.
(ccp_fold_stmt): Likewise.
(optimize_unreachable): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
(coalesce_partitions): Likewise.
(create_outofssa_var_map): Likewise.
* tree-ssa-copy.c (copy_prop_visit_stmt): Likewise.
(init_copy_prop): Likewise.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
* tree-ssa-dce.c (remove_dead_phis): Likewise.
(forward_edge_to_pdom): Likewise.
(eliminate_unnecessary_stmts): Likewise.
(propagate_necessity): Likewise.
(remove_dead_stmt): Likewise.
* tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
(cprop_into_successor_phis): Likewise.
(get_rhs_or_phi_arg): Likewise.
(eliminate_degenerate_phis_1): Likewise.
(struct hashable_expr): Likewise.
(add_hashable_expr): Likewise.
(print_expr_hash_elt): Likewise.
(record_equivalences_from_stmt): Likewise.
(initialize_hash_element): Likewise.
(record_edge_info): Likewise.
(eliminate_redundant_computations): Likewise.
(propagate_rhs_into_lhs): Likewise.
(free_all_edge_infos): Likewise.
(make_pass_dominator): Likewise.
(optimize_stmt): Likewise.
* tree-ssa-forwprop.c (remove_prop_source_from_use): Likewise.
(simplify_bitwise_binary): Likewise.
(simplify_rotate): Likewise.
(simplify_not_neg_expr): Likewise.
(simplify_gimple_switch_label_vec): Likewise.
(forward_propagate_into_comparison): Likewise.
(simplify_mult): Likewise.
* tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
(get_name_for_bit_test): Likewise.
(recognize_single_bit_test): Likewise.
(ifcombine_ifandif): Likewise.
* tree-ssa-live.c (remove_unused_locals): Likewise.
(set_var_live_on_entry): Likewise.
(calculate_live_on_exit): Likewise.
(verify_live_on_entry): Likewise.
* tree-ssa-loop-im.c (mem_ref_in_stmt): Likewise.
(determine_max_movement): Likewise.
(execute_sm_if_changed): Likewise.
(rewrite_reciprocal): Likewise.
(execute_sm): Likewise.
(rewrite_bittest): Likewise.
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
Likewise.
(unloop_loops): Likewise.
(tree_estimate_loop_size): Likewise.
(create_canonical_iv): Likewise.
(remove_exits_and_undefined_stmts): Likewise.
(remove_redundant_iv_tests): Likewise.
(try_unroll_loop_completely): Likewise.
* tree-ssa-loop-ivopts.c (get_iv): Likewise.
(find_bivs): Likewise.
(mark_bivs): Likewise.
(find_interesting_uses_outside): Likewise.
(determine_set_costs): Likewise.
(rewrite_use_nonlinear_expr): Likewise.
(remove_unused_ivs): Likewise.
(extract_cond_operands): Likewise.
(rewrite_use_compare): Likewise.
* tree-ssa-loop-manip.c (tree_unroll_loop): Likewise.
(rewrite_all_phi_nodes_with_iv): Likewise.
(add_exit_phi): Likewise.
(find_uses_to_rename_bb): Likewise.
(verify_loop_closed_ssa): Likewise.
(split_loop_exit_edge): Likewise.
(create_iv): Likewise.
(rewrite_phi_with_iv): Likewise.
(tree_transform_and_unroll_loop): Likewise.
(canonicalize_loop_ivs): Likewise.
* tree-ssa-loop-niter.c (determine_value_range): Likewise.
(finite_loop_p): Likewise.
(chain_of_csts_start): Likewise.
(get_base_for): Likewise.
(loop_niter_by_eval): Likewise.
(number_of_iterations_exit): Likewise.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
(emit_mfence_after_loop): Likewise.
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Likewise.
(tree_unswitch_single_loop): Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Likewise.
(build_and_insert_call): Likewise.
(insert_reciprocals): Likewise.
(powi_as_mults_1): Likewise.
(powi_as_mults): Likewise.
(build_and_insert_binop): Likewise.
(build_and_insert_cast): Likewise.
(gimple_expand_builtin_cabs): Likewise.
(convert_mult_to_fma): Likewise.
* tree-ssa-operands.c (get_tmr_operands): Likewise.
(maybe_add_call_vops): Likewise.
(parse_ssa_operands): Likewise.
* tree-ssa-phiopt.c (tree_ssa_cs_elim): Likewise.
(single_non_singleton_phi_for_edges): Likewise.
(tree_ssa_phiopt_worker): Likewise.
(replace_phi_edge_with_variable): Likewise.
(hoist_adjacent_loads): Likewise.
(conditional_replacement): Likewise.
(abs_replacement): Likewise.
(cond_store_replacement): Likewise.
(cond_if_else_store_replacement_1): Likewise.
(minmax_replacement): Likewise.
* tree-ssa-phiprop.c (propagate_with_phi): Likewise.
(phivn_valid_p): Likewise.
(phiprop_insert_phi): Likewise.
* tree-ssa-pre.c (insert_into_preds_of_block): Likewise.
(compute_avail): Likewise.
(create_expression_by_pieces): Likewise.
(do_regular_insertion): Likewise.
(eliminate_insert): Likewise.
* tree-ssa-propagate.c (simulate_stmt): Likewise.
(replace_uses_in): Likewise.
(replace_phi_args_in): Likewise.
(update_gimple_call): Likewise.
(update_call_from_tree): Likewise.
(may_propagate_copy_into_stmt): Likewise.
(propagate_tree_value_into_stmt): Likewise.
* tree-ssa-propagate.h (prop_simulate_again_p): Likewise.
* tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
(is_phi_for_stmt): Likewise.
(build_and_add_sum): Likewise.
(update_ops): Likewise.
(get_reassociation_width): Likewise.
(reassociate_bb): Likewise.
(maybe_optimize_range_tests): Likewise.
* tree-ssa-sccvn.c (DFS): Likewise.
(ao_ref_init_from_vn_reference): Likewise.
(valueize_shared_reference_ops_from_ref): Likewise.
(vn_reference_lookup_3): Likewise.
(vn_reference_lookup): Likewise.
(visit_nary_op): Likewise.
(simplify_binary_expression): Likewise.
(simplify_unary_expression): Likewise.
(visit_use): Likewise.
(set_hashtable_value_ids): Likewise.
* tree-ssa-sccvn.h (vn_constant_eq_with_type): Likewise.
* tree-ssa-sink.c (find_bb_for_arg): Likewise.
(nearest_common_dominator_of_uses): Likewise.
(statement_sink_location): Likewise.
* tree-ssa-strlen.c (do_invalidate): Likewise.
* tree-ssa-structalias.c (new_var_info): Likewise.
(get_call_vi): Likewise.
(lookup_call_use_vi): Likewise.
(lookup_call_clobber_vi): Likewise.
(get_call_use_vi): Likewise.
(get_function_part_constraint): Likewise.
(handle_rhs_call): Likewise.
(handle_lhs_call): Likewise.
(handle_const_call): Likewise.
(handle_pure_call): Likewise.
(get_fi_for_callee): Likewise.
(find_func_aliases_for_builtin_call): Likewise.
(find_func_clobbers): Likewise.
(compute_points_to_sets): Likewise.
(ipa_pta_execute): Likewise.
(find_func_aliases): Likewise.
* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
(release_last_vdef): Likewise.
(same_phi_alternatives_1): Likewise.
(find_clusters): Likewise.
(vop_phi): Likewise.
(replace_block_by): Likewise.
* tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
Likewise.
(record_temporary_equivalences_from_stmts_at_dest): Likewise.
(simplify_control_stmt_condition): Likewise.
(dummy_simplify): Likewise.
(propagate_threaded_block_debug_into): Likewise.
(thread_around_empty_blocks): Likewise.
(thread_through_normal_block): Likewise.
* tree-ssa-threadedge.h (thread_across_edge): Likewise.
* tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
(get_value_locus_in_path): Likewise.
(copy_phi_args): Likewise.
(phi_args_equal_on_edges): Likewise.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
* tree-ssa-uninit.c (can_skip_redundant_opnd): Likewise.
(find_predicates): Likewise.
(collect_phi_def_edges): Likewise.
(find_matching_predicate_in_rest_chains): Likewise.
(prune_uninit_phi_opnds_in_unrealizable_paths): Likewise.
(use_pred_not_overlap_with_undef_path_pred): Likewise.
(normalize_preds): Likewise.
(is_use_properly_guarded): Likewise.
(find_uninit_use): Likewise.
(gate_warn_uninitialized): Likewise.
* tree-ssa.c (ssa_redirect_edge): Likewise.
(flush_pending_stmts): Likewise.
(verify_use): Likewise.
(verify_ssa): Likewise.
(execute_update_addresses_taken): Likewise.
(insert_debug_temp_for_var_def): Likewise.
* tree-stdarg.c (check_all_va_list_escapes): Likewise.
* tree-switch-conversion.c (check_final_bb): Likewise.
(build_constructors): Likewise.
(build_arrays): Likewise.
(gen_def_assigns): Likewise.
(case_bit_test_cmp): Likewise.
(emit_case_bit_tests): Likewise.
(gather_default_values): Likewise.
(constructor_contains_same_values_p): Likewise.
(array_value_type): Likewise.
(build_one_array): Likewise.
(fix_phi_nodes): Likewise.
(process_switch): Likewise.
(hoist_edge_and_branch_if_true): Likewise.
(gen_inbound_check): Likewise.
* tree-tailcall.c (add_successor_phi_arg): Likewise.
(propagate_through_phis): Likewise.
(eliminate_tail_call): Likewise.
(create_tailcall_accumulator): Likewise.
(tree_optimize_tail_calls_1): Likewise.
(adjust_return_value): Likewise.
(optimize_tail_call): Likewise.
(independent_of_stmt_p): Likewise.
(find_tail_calls): Likewise.
(adjust_return_value_with_ops): Likewise.
(update_accumulator_with_ops): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr): Likewise.
(vect_setup_realignment): Likewise.
* tree-vect-generic.c (expand_vector_condition): Likewise.
(optimize_vector_constructor): Likewise.
(lower_vec_perm): Likewise.
(expand_vector_operations_1): Likewise.
* tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
(vect_can_advance_ivs_p): Likewise.
(slpeel_update_phi_nodes_for_guard1): Likewise.
(slpeel_update_phi_nodes_for_guard2): Likewise.
(slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.
(vect_update_ivs_after_vectorizer): Likewise.
(vect_loop_versioning): Likewise.
(slpeel_make_loop_iterate_ntimes): Likewise.
(slpeel_add_loop_guard): Likewise.
(slpeel_can_duplicate_loop_p): Likewise.
(set_prologue_iterations): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
(vect_analyze_scalar_cycles_1): Likewise.
(vect_analyze_loop_operations): Likewise.
(get_initial_def_for_induction): Likewise.
(vectorizable_reduction): Likewise.
(vect_transform_loop): Likewise.
(vect_create_epilog_for_reduction): Likewise.
(vect_analyze_scalar_cycles): Likewise.
(vect_analyze_loop_form): Likewise.
* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
* tree-vect-slp.c (vect_build_slp_tree_1): Likewise.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
(vectorizable_load): Likewise.
(vect_finish_stmt_generation): Likewise.
(vectorizable_call): Likewise.
(vectorizable_condition): Likewise.
* tree-vectorizer.h (unlimited_cost_model): Likewise.
* tree-vrp.c (find_assert_locations): Likewise.
(vrp_initialize): Likewise.
(vrp_meet): Likewise.
(extract_range_from_unary_expr): Likewise.
(extract_range_basic): Likewise.
(build_assert_expr_for): Likewise.
(vrp_visit_assignment_or_call): Likewise.
(simplify_truth_ops_using_ranges): Likewise.
(simplify_float_conversion_using_ranges): Likewise.
(live_on_edge): Likewise.
(compare_case_labels): Likewise.
(vrp_visit_cond_stmt): Likewise.
(find_case_label_index): Likewise.
(find_case_label_range): Likewise.
(find_case_label_ranges): Likewise.
(simplify_cond_using_ranges): Likewise.
(register_edge_assert_for): Likewise.
(find_assert_locations_1): Likewise.
(vrp_evaluate_conditional): Likewise.
(vrp_visit_stmt): Likewise.
(range_fits_type_p): Likewise.
(simplify_stmt_using_ranges): Likewise.
(fold_predicate_in): Likewise.
(simplify_stmt_for_jump_threading): Likewise.
(identify_jump_threads): Likewise.
* tree.c (find_decls_types_in_node): Likewise.
* ubsan.c (instrument_nonnull_return): Likewise.
(instrument_mem_ref): Likewise.
* value-prof.c (find_func_by_profile_id): Likewise.
(check_ic_target): Likewise.
(gimple_ic_transform): Likewise.
(interesting_stringop_to_profile_p): Likewise.
(gimple_stringops_transform): Likewise.
(gimple_stringops_values_to_profile): Likewise.
(gimple_value_profile_transformations): Likewise.
(gimple_divmod_fixed_value_transform): Likewise.
(gimple_mod_pow2_value_transform): Likewise.
(gimple_mod_subtract_transform): Likewise.
(gimple_divmod_fixed_value): Likewise.
(gimple_mod_pow2): Likewise.
(gimple_mod_subtract): Likewise.
(gimple_ic): Likewise.
(gimple_stringop_fixed_value): Likewise.
* value-prof.h (stringop_block_profile): Likewise.
(gimple_ic): Likewise.
* vtable-verify.c (verify_bb_vtables): Likewise.
2014-10-27 David Malcolm <dmalcolm@redhat.com>
* coretypes.h (gimple_cond): Drop this typedef.
(const_gimple_cond): Likewise.
(gimple_debug): Likewise.
(const_gimple_debug): Likewise.
(gimple_goto): Likewise.
(const_gimple_goto): Likewise.
(gimple_label): Likewise.
(const_gimple_label): Likewise.
(gimple_switch): Likewise.
(const_gimple_switch): Likewise.
(gimple_assign): Likewise.
(const_gimple_assign): Likewise.
(gimple_asm): Likewise.
(const_gimple_asm): Likewise.
(gimple_call): Likewise.
(const_gimple_call): Likewise.
(gimple_transaction): Likewise.
(const_gimple_transaction): Likewise.
(gimple_return): Likewise.
(const_gimple_return): Likewise.
(gimple_bind): Likewise.
(const_gimple_bind): Likewise.
(gimple_catch): Likewise.
(const_gimple_catch): Likewise.
(gimple_eh_filter): Likewise.
(const_gimple_eh_filter): Likewise.
(gimple_eh_must_not_throw;): Likewise.
(const_gimple_eh_must_not_throw): Likewise.
(gimple_eh_else): Likewise.
(const_gimple_eh_else): Likewise.
(gimple_resx): Likewise.
(const_gimple_resx): Likewise.
(gimple_eh_dispatch): Likewise.
(const_gimple_eh_dispatch): Likewise.
(gimple_phi): Likewise.
(const_gimple_phi): Likewise.
(gimple_try): Likewise.
(const_gimple_try): Likewise.
(gimple_omp_atomic_load): Likewise.
(const_gimple_omp_atomic_load): Likewise.
(gimple_omp_atomic_store): Likewise.
(const_gimple_omp_atomic_store): Likewise.
(gimple_omp_continue): Likewise.
(const_gimple_omp_continue): Likewise.
(gimple_omp_critical): Likewise.
(const_gimple_omp_critical): Likewise.
(gimple_omp_for): Likewise.
(const_gimple_omp_for): Likewise.
(gimple_omp_parallel): Likewise.
(const_gimple_omp_parallel): Likewise.
(gimple_omp_task): Likewise.
(const_gimple_omp_task): Likewise.
(gimple_omp_sections): Likewise.
(const_gimple_omp_sections): Likewise.
(gimple_omp_single): Likewise.
(const_gimple_omp_single): Likewise.
(gimple_omp_target): Likewise.
(const_gimple_omp_target): Likewise.
(gimple_omp_teams): Likewise.
(const_gimple_omp_teams): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
* tree-inline.h (struct copy_body_data): Rename field
"gimple_call" to "call_stmt".
* gimplify.c (gimplify_bind_expr): Rename local "gimple_bind" to
"bind_stmt".
(gimplify_switch_expr): Rename local "gimple_switch" to
"switch_stmt".
(gimplify_cond_expr): Rename local "gimple_cond" to "cond_stmt".
* tree-eh.c (lower_catch): Rename local "gcatch" to "catch_stmt".
* tree-inline.c (copy_bb): Update for renaming of field within
struct copy_body_data from "gimple_call" to "call_stmt".
(copy_cfg_body): Likewise.
(copy_debug_stmt): Likewise.
(expand_call_inline): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Convert various gimple to gimple_phi within ssa-iterators.h
* ssa-iterators.h (FOR_EACH_PHI_OR_STMT_USE): Add checked cast to
gimple_phi.
(FOR_EACH_PHI_OR_STMT_DEF): Likewise.
* ssa-iterators.h (single_phi_def): Require a gimple_phi.
(op_iter_init_phiuse): Likewise.
(op_iter_init_phidef): Likewise.
* tree-ssa-loop-im.c (extract_true_false_args_from_phi): Likewise.
* tree-ssa-loop-im.c (link_use_stmts_after): Replace check against
GIMPLE_PHI with add a dyn_cast to gimple_phi, using result as needed.
(determine_max_movement): Likewise.
* tree-ssa-reassoc.c (is_phi_for_stmt): Likewise.
* tree-ssa-sccvn.c (start_over:): Likewise.
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Split iterator
into gimple_stmt_iterator and a gimple_phi_iterator so that a local
can become a gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Use gimple_phi in many more places.
* gimple-ssa-strength-reduction.c (slsr_process_phi): Require a
gimple_phi.
* ipa-inline-analysis.c (predicate_for_phi_result): Likewise.
* tree-emutls.c (lower_emutls_phi_arg): Likewise.
* tree-if-conv.c (predicate_scalar_phi): Likewise.
* tree-into-ssa.c (mark_virtual_phi_result_for_renaming): Likewise.
* tree-into-ssa.h (mark_virtual_phi_result_for_renaming): Likewise.
* tree-phinodes.c (degenerate_phi_result): Likewise.
* tree-phinodes.h (degenerate_phi_result): Likewise.
* tree-ssa.c (verify_use): Likewise.
* tree-switch-conversion.c (array_value_type): Likewise.
* graphite-scop-detection.c (same_close_phi_node): Require a pair
of gimple_phi.
(remove_duplicate_close_phi): Require a gimple_phi and a
gimple_phi_iterator.
(make_close_phi_nodes_unique): Convert a local into a
gimple_phi_iterator.
* gimple-pretty-print.c (gimple_dump_bb_for_graph): Split iterator
into gimple_stmt_iterator and gimple_phi_iterator, converting local
from gimple to gimple_phi.
* gimple-ssa-strength-reduction.c
(find_candidates_dom_walker::before_dom_children): Likewise.
* ipa-inline-analysis.c (estimate_function_body_sizes): Likewise.
* ipa-split.c (verify_non_ssa_vars): Likewise.
(visit_bb): Likewise.
(split_function): Likewise.
* lto-streamer-out.c (output_function): Likewise.
* sese.c (sese_build_liveouts_bb): Likewise.
* tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
* tree-complex.c (init_dont_simulate_again): Likewise.
* tree-dfa.c (collect_dfa_stats): Likewise.
* tree-eh.c (sink_clobbers): Likewise.
* tree-emutls.c (lower_emutls_function_body): Likewise.
* tree-into-ssa.c (rewrite_dom_walker::before_dom_children):
Likewise.
(rewrite_update_dom_walker::before_dom_children): Likewise.
(prepare_block_for_update): Likewise.
* tree-loop-distribution.c (stmts_from_loop): Likewise.
(generate_loops_for_partition): Likewise.
(destroy_loop): Likewise.
(tree_loop_distribution): Likewise.
* tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
* tree-ssa-copy.c (init_copy_prop): Likewise.
* tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Likewise.
* tree-ssa-loop-manip.c (find_uses_to_rename_bb): Likewise.
(verify_loop_closed_ssa): Likewise.
* tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise.
* tree-ssa-pre.c (compute_avail): Likewise.
(eliminate_dom_walker::before_dom_children): Likewise.
* tree-ssa-strlen.c (strlen_dom_walker::before_dom_children): Likewise.
* tree-ssa-structalias.c (compute_points_to_sets): Likewise.
(ipa_pta_execute): Likewise.
* tree-ssa-tail-merge.c (same_succ_hash): Likewise.
(release_last_vdef): Likewise.
* tree-ssa.c (verify_ssa): Likewise.
(execute_update_addresses_taken): Likewise.
* tree-stdarg.c (check_all_va_list_escapes): Likewise.
(execute_optimize_stdarg): Likewise.
* tree-switch-conversion.c (build_arrays): Likewise.
* tree-vect-loop-manip.c (rename_variables_in_bb): Likewise.
* tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
(vect_analyze_loop_operations): Likewise.
(vect_transform_loop): Likewise.
* tree-vrp.c (find_assert_locations_1): Likewise.
(vrp_initialize): Likewise.
* graphite-sese-to-poly.c (gsi_for_phi_node): Convert psi to a
gimple_phi_iterator.
(rewrite_degenerate_phi): Require a gimple_phi_iterator; strengthen
local "phi" from gimple to gimple-phi.
* ipa-split.c (consider_split): Convert local psi to a
gimple_phi_iterator.
* tree-cfg.c (gimple_merge_blocks): Likewise.
* tree-eh.c (unsplit_eh): Replace reuse of gsi with a new
gimple_phi_iterator gpi, using it to convert statement from gimple
to a gimple_phi.
(cleanup_empty_eh_merge_phis): Strengthen ophi from gimple to
gimple_phi.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Replace reuse of
gsi with a new gimple_phi_iterator gpi, using it to convert
expressions from gimple to gimple_phi; add a checked cast to
gimple_phi.
* tree-if-conv.c (predicate_all_scalar_phis): Convert local phi_gsi
to be a gimple_phi_iterator; convert "phi" to be a gimple_phi.
* tree-parloops.c (loop_has_vector_phi_nodes): Convert local to be a
gimple_phi_iterator.
* tree-ssa-ccp.c (ccp_initialize): Likewise.
* tree-scalar-evolution.c (analyze_initial_condition): Add checked cast
to a gimple_phi.
* tree-ssa.c (insert_debug_temp_for_var_def): Likewise.
* tree-ssa-dom.c (get_rhs_or_phi_arg): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Use gimple_call in some places within tree-ssa-dom.c
* tree-ssa-dom.c (struct hashable_expr): Strengthen field
call.fn_from from gimple to gimple_call.
(initialize_hash_element): Replace check against GIMPLE_CALL
with dyn_cast<gimple_call> and update gimple_call_ uses to use
new gimple_call local, along with fn_from initializer.
(iterative_hash_hashable_expr): Strengthen type of local "fn_from"
from gimple to gimple_call.
(print_expr_hash_elt): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_copy_flags and ipa_modify_call_arguments
* gimple.h (gimple_call_copy_flags): Require gimple_calls.
* ipa-prop.c (ipa_modify_call_arguments): Require a gimple_call.
* ipa-prop.h (ipa_modify_call_arguments): Likewise.
* tree-inline.c (copy_bb): Replace is_gimple_call with new local
and call to dyn_cast<gimple_call>, updating gimple_call_ uses to
use the type-checked local.
* tree-sra.c (convert_callers): Replace check for GIMPLE_CALL with
a dyn_cast.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_assign_nontemporal_move_p
* gimple.h (gimple_assign_nontemporal_move_p): Require a
const_gimple_assign rather than a const_gimple.
* cfgexpand.c (expand_gimple_stmt_1): Add local assign_stmt and
checked cast within "case GIMPLE_ASSIGN".
* gimple-streamer-out.c (output_gimple_stmt): Add checked cast to
gimple_assign.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_arg_flags
* gimple.h (gimple_call_arg_flags): Require a const_gimple_call
rather than a const_gimple.
* gimple.c (gimple_call_fnspec): Likewise.
(gimple_call_arg_flags): Likewise.
* tree-inline.c (remap_gimple_stmt): Use a dyn_cast rather than a
is_gimple_call and repeated checked casts.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_set_tail and gimple_call_tail_p
* gimple.h (gimple_call_set_tail): Require a gimple_call.
(gimple_call_tail_p): Likewise.
* cfgexpand.c (expand_gimple_tailcall): Likewise.
(expand_gimple_basic_block): Convert calls to is_gimple_call to a
dyn_cast, introducing a new "call_stmt" local.
* trans-mem.c (expand_block_edges): Likewise, for comparison against
GIMPLE_CALL.
* tree-inline.c (remap_gimple_stmt): Add checked casts to
gimple_call in region guarded by is_gimple_call.
* tree-tailcall.c (optimize_tail_call): Add checked cast to gimple_call
for t->call_gsi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_set_fntype
* gimple-fold.c (gimple_fold_builtin_sprintf_chk): Strengthen
local "stmt" from gimple to gimple_call.
* gimple.h (gimple_call_set_fntype): Require a gimple_call.
* omp-low.c (lower_omp_1): Add a new local gimple_call "call_stmt",
from a checked cast to gimple_call within the "case GIMPLE_CALL",
for the regions where "stmt" is not subsequently overwritten.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_set_fn
* gimple.h (gimple_call_set_fn): Require a gimple_call.
* trans-mem.c (dump_tm_memopt_transform): Likewise.
(tm_memopt_transform_blocks): Add checked casts to gimple_call in
suites guarded by is_tm_simple_{load|store}, which enforce that
the statement must be a GIMPLE_CALL; use this when invoking
dump_tm_memopt_transform.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Tweak to gimplify_modify_expr
* gimplify.c (gimplify_modify_expr): Introduce local "call_stmt".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_nothrow_p
* gimple.h (gimple_call_nothrow_p): Require a gimple_call.
* tree-eh.c (stmt_could_throw_p): Add checked cast to gimple_call.
* tree-vect-slp.c (vect_build_slp_tree_1): Replace call to
is_gimple_call with dyn_cast<gimple_call>, introducing a local.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_set_nothrow
* gimple.h (gimple_call_set_nothrow): Require a gimple_call.
* trans-mem.c (ipa_tm_insert_gettmclone_call): Likewise.
(ipa_tm_transform_calls_redirect): Add checked cast to gimple call; this
is only called for gsi on a GIMPLE_CALL statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize various expressions from gimple to gimple_cond
* ipa-split.c (check_forbidden_calls): Replace check against
GIMPLE_COND with a dyn_cast<gimple_cond>, introducing a
gimple_cond local.
* predict.c (predict_extra_loop_exits): Likewise.
* tree-vrp.c (fold_predicate_in): Likewise.
(simplify_stmt_for_jump_threading): Likewise.
* predict.c (is_comparison_with_loop_invariant_p): Require a
gimple_cond.
(predict_iv_comparison): Add checked cast to gimple_cond once we
know the code is GIMPLE_COND.
(predict_loops): Change type of "stmt" to gimple_cond,
adding checked casts to its assignments (which are both guarded by
checks against GIMPLE_COND).
* tree-vrp.c (find_conditional_asserts): Require a gimple_cond.
(vrp_evaluate_conditional): Likewise.
(find_assert_locations_1): Add checked cast to gimple_cond.
(vrp_visit_stmt): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_cond_{lhs|rhs}_ptr
* gimple.h (gimple_cond_lhs_ptr): Require a const_gimple_cond
rather than just a const_gimple_cond.
(gimple_cond_rhs_ptr): Likewise.
* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
to gimple_cond within "case GIMPLE_COND".
* omp-low.c (lower_omp_1): Likewise.
* omp-low.c (expand_omp_simd): Introduce a new local cond_stmt
to express that the conditional is indeed a gimple_cond.
* tree-ssa-loop-ivopts.c (extract_cond_operands): Add a checked
cast to gimple_cond within a region where the code is known to
be GIMPLE_COND.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_cond_set_{lhs|rhs}
* gimple.h (gimple_cond_set_lhs): Require a gimple_cond.
(gimple_cond_set_rhs): Likewise.
* tree-parloops.c (transform_to_exit_first_loop): Convert locals
"cond_stmt" and "cond_nit" to gimple_cond, adding checked casts,
since the existing code assumes that code is GIMPLE_COND. Convert
"stmt" to a gimple_assign.
(create_parallel_loop): Likewise for "cond_stmt".
* tree-ssa-loop-im.c (rewrite_bittest): Replace check for code
GIMPLE_COND with a dyn_cast, adding new local "cond_stmt".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_cond_set_code
* gimple.h (gimple_cond_set_code): Require a gimple_cond.
* tree-complex.c (expand_complex_comparison): Add a checked cast to
gimple_cond within "case GIMPLE_COND".
* tree-ssa-loop-ivcanon.c (create_canonical_iv): Convert local "cond"
to a gimple_cond, adding a checked cast. The existing code requires
that the last statement before the exit edge have code GIMPLE_COND,
though it's not clear to me where this is verified.
* tree-ssa-loop-ivopts.c (rewrite_use_compare): Add a checked cast
to gimple_cond on "use->stmt".
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Convert
local "exit_if" to gimple_cond, adding a checked cast. It's not
clear to me exactly where the GIMPLE_COND-ness of this is
established, but the existing code requires it.
(canonicalize_loop_ivs): Similarly for "stmt".
* tree-ssa-propagate.c (propagate_tree_value_into_stmt): Replace
a check against GIMPLE_COND with a dyn_cast<gimple_cond>.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_cond_{true|false}_label
* gimple.h (gimple_cond_true_label): Require a const_gimple_cond
rather than just a const_gimple.
(gimple_cond_false_label): Likewise.
* omp-low.c (diagnose_sb_2): Add checked cast to gimple_cond within
case GIMPLE_COND.
* tree-eh.c (maybe_record_in_goto_queue): Likewise.
* tree-cfg.c (verify_gimple_stmt): Add a checked cast to gimple_cond
within "case GIMPLE_COND", splitting it out into...
(verify_gimple_label): New.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_switch_index and gimple_switch_index_ptr
* gimple.h (gimple_switch_index): Require a const_gimple_switch rather
than a plain const_gimple.
(gimple_switch_index_ptr): Likewise.
* gimplify-me.c (gimple_regimplify_operands): Add checked cast to
gimple_switch within "case GIMPLE_SWITCH".
* tree-cfgcleanup.c (cleanup_control_expr_graph): Likewise.
* tree-ssa-ccp.c (ccp_fold): Likewise.
* tree-ssa-dom.c (optimize_stmt): Likewise.
* tree-ssa-ccp.c (evaluate_stmt): Add checked cast to
gimple_switch within region guarded by check for GIMPLE_SWITCH.
* tree-ssa-dom.c (record_edge_info): Likewise.
(eliminate_redundant_computations): Likewise.
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
* tree-ssa-dom.c (initialize_hash_element): Replace check for
code GIMPLE_SWITCH with a dyn_cast<gimple_switch>.
(propagate_rhs_into_lhs): Likewise.
* tree-ssa-propagate.c (may_propagate_copy_into_stmt): Likewise.
(propagate_tree_value_into_stmt): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_cond_make_{false|true}
* gimple.h (gimple_cond_make_false): Require a gimple_cond.
(gimple_cond_make_true): Likewise.
* tree-cfg.c (fold_cond_expr_cond): Add a checked cast to
gimple_cond within region guarded by check for GIMPLE_COND.
* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
* tree-loop-distribution.c (generate_loops_for_partition): Replace
a check for GIMPLE_COND with a dyn_cast<gimple_cond>.
* tree-ssa-ccp.c (optimize_unreachable): Likewise.
* tree-ssa-loop-niter.c (number_of_iterations_exit): Likewise.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Likewise.
* tree-vrp.c (fold_predicate_in): Add a checked cast to
gimple_cond. We must be dealing with a GIMPLE_COND since logic
at top of the function ensures we only act on GIMPLE_ASSIGN and
GIMPLE_COND statements, and we're now within a "not a GIMPLE_ASSIGN"
clause.
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Add
checked cast of elt->stmt to gimple_cond. The existing code requires
this to be a GIMPLE_COND, though it's not clear to me how this
requirement is enforced.
(remove_redundant_iv_tests): Likewise.
(try_unroll_loop_completely): Likewise, for the last_stmt of the
preceding bb along edge_to_cancel.
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Likewise, for the
last_stmt of bb.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize locals within expand_omp_for_init_counts
* omp-low.c (expand_omp_for_init_counts): Eliminate local "stmt"
in favor of new locals "cond_stmt" and "assign_stmt" with more
concrete types.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_cond_set_{true|false}_label require gimple_cond.
* gimple.h (gimple_cond_set_true_label): Require a gimple_cond.
(gimple_cond_set_false_label): Likewise.
* tree-cfg.c (make_cond_expr_edges): Convert "entry" from gimple to
a gimple_cond.
(cleanup_dead_labels): Introduce a checked cast to a gimple_cond within
the GIMPLE_COND case.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize three gimple_return_ accessors
* gimple.h (gimple_return_retval_ptr): Require a const_gimple_return
rather than a const_gimple.
(gimple_return_retval): Likewise.
(gimple_return_set_retval): Require a gimple_return.
* cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
gimple_return.
(expand_gimple_basic_block): Likewise.
* tree-complex.c (expand_complex_move): Likewise.
(expand_complex_comparison): Likewise.
* tree-inline.c (remap_gimple_stmt): Likewise.
* tree-sra.c (scan_function): Likewise.
(sra_modify_function_body): Likewise.
(ipa_sra_modify_function_body): Likewise.
* tree-ssa-structalias.c (find_func_aliases): Likewise.
* gimple-ssa-isolate-paths.c (isolate_path): Strengthen local
"ret" from gimple to gimple_return.
(find_implicit_erroneous_behaviour): Replace a check for code
GIMPLE_RETURN with a dyn_cast and a new local.
(find_explicit_erroneous_behaviour): Likewise.
* gimple-walk.c (walk_stmt_load_store_addr_ops): Likewise.
* gimple.c (infer_nonnull_range): Likewise.
* ipa-split.c (find_return_bb): Likewise.
(find_retval): Likewise.
(split_function): Likewise.
* omp-low.c (ipa_simd_modify_function_body): Likewise.
* tree-cfg.c (pass_warn_function_return::execute): Likewise.
* tree-nrv.c (tree_nrv): Likewise.
* tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Likewise.
* tree-ssa-dce.c (propagate_necessity): Likewise.
* tree-ssa-structalias.c (find_func_clobbers): Likewise.
* tree-tailcall.c (find_tail_calls): Likewise.
* predict.c (apply_return_prediction): Rework the search for
return_stmt so that the latter can have type gimple_return.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_phi_arg_location require a gimple_phi.
* gimple.h (gimple_phi_arg_location): Require a gimple_phi.
* tree-into-ssa.c (rewrite_update_phi_arguments): Replace a check
for code GIMPLE_PHI with a dyn_cast and a new local.
* tree-ssa-ter.c (ter_is_replaceable_p): Likewise.
* tree-ssa-live.c (remove_unused_locals): Replace a
gimple_stmt_iterator with a gimple_phi_iterator, using it to make
local "phi" be a gimple_phi.
* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
* tree-ssa-phiopt.c (conditional_replacement): Require a gimple_phi.
(single_non_singleton_phi_for_edges): Return a gimple_phi; update
local to be a gimple_phi, adding checked casts since we're working
on a sequence of gimple_phi.
(conditional_replacement): Require a gimple_phi.
* tree-ssa-threadupdate.c (get_value_locus_in_path): Strengthen
type of local "def_phi" to gimple_phi by replacing a check of the
code for GIMPLE_PHI with a dyn_cast<gimple_phi>.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_phi_arg_location_from_edge require a gimple_phi
* gimple.h (gimple_phi_arg_location_from_edge): Require a
gimple_phi.
* tree-parloops.c (create_parallel_loop): Split up local variable
"stmt", introducing other locals for the various statements created
by this function. Reuse "stmt" within the phi-handling code, and
change to type gimple_phi, since this is the only remaining
"non-phi" user of gimple_phi_arg_location_from_edge.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize three gimple_try_set_ accessors
* gimple.c (gimple_copy): Add checked casts to gimple_try.
* gimple.h (gimple_try_set_kind): Require a gimple_try.
(gimple_try_set_eval): Likewise.
(gimple_try_set_cleanup): Likewise.
* tree-eh.c (optimize_double_finally): Require a pair of gimple_try
statements.
(refactor_eh_r): Convert code comparisons to dynamic casts.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_try_set_catch_is_cleanup
* gimple.h (gimple_try_set_catch_is_cleanup): Require a gimple_try.
* gimplify.c (gimplify_expr): Convert local "try_" from a gimple
to a gimple_try.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_eh_filter_set_types and gimple_eh_filter_set_failure
* gimple.h (gimple_eh_filter_set_types): Require a gimple_eh_filter.
(gimple_eh_filter_set_failure): Likewise.
* gimple.c (gimple_copy): Add checked casts to gimple_eh_filter
within GIMPLE_EH_FILTER case.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_label_label
* gimple.h (gimple_label_label): Require a const_gimple_label
rather than just a const_gimple.
* cfgexpand.c (label_rtx_for_bb): Convert local from gimple to
gimple_label, replacing a check against GIMPLE_LABEL with a
dyn_cast<gimple_label>.
* predict.c (tree_estimate_probability_bb): Likewise.
* tree-cfg.c (make_edges): Likewise.
(cleanup_dead_labels): Likewise (twice).
(gimple_can_merge_blocks_p): Likewise.
(gimple_block_label): Likewise.
* tree-eh.c (unsplit_eh): Likewise.
(cleanup_empty_eh_unsplit): Likewise.
* tree-inline.c (mark_local_labels_stmt): Likewise.
* tree-nested.c (convert_nl_goto_receiver): Likewise.
* cfgexpand.c (expand_gimple_stmt_1): Add a checked cast to
gimple_label when invoking gimple_label_label in a region where
we've checked the code is GIMPLE_LABEL.
* gimple-pretty-print.c (pp_cfg_jump): Likewise.
* gimple.c (gimple_set_bb): Likewise.
* ipa-pure-const.c (check_stmt): Likewise.
* omp-low.c (diagnose_sb_1): Likewise.
* tree-cfg.c (gimple_verify_flow_info): Likewise.
* tree-cfgcleanup.c (tree_forwarder_block_p): Likewise.
(remove_forwarder_block): Likewise.
* tree-eh.c (collect_finally_tree): Likewise.
* ipa-split.c (verify_non_ssa_vars): Replace a check against
GIMPLE_LABEL with a dyn_cast<gimple_label>, introducing a
gimple_label local.
* tree-cfg.c (gimple_can_merge_blocks_p): Likewise.
(gimple_merge_blocks): Likewise.
(remove_bb): Likewise.
(stmt_starts_bb_p): Likewise.
(gimple_verify_flow_info): Likewise.
(move_block_to_fn): Likewise.
* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
(remove_forwarder_block_with_phi): Likewise.
* tree-ssa-ccp.c (optimize_unreachable): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_call_use_set and gimple_call_clobber_set
* gimple.h (gimple_call_use_set): Require a gimple_call.
(gimple_call_clobber_set): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize gimple_catch_types
* gimple.h (gimple_catch_types): Require a const_gimple_catch
rather than a const_gimple.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_goto_set_dest require a gimple_goto
* gimple.h (gimple_goto_set_dest): Require a gimple_goto.
* tree-cfg.c (factor_computed_gotos): Add checked cast to
gimple_goto.
(cleanup_dead_labels): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_label_set_label require a gimple_label
* gimple.h (gimple_label_set_label): Require a gimple_label.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize parameter to gimple_call_copy_skip_args
* gimple.c (gimple_call_copy_skip_args): Require a gimple_call.
* gimple.h (gimple_call_copy_skip_args): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Various gimple to gimple_call conversions in IPA
* ipa-prop.c (detect_type_change_from_memory_writes): Require a
gimple_call rather than a plain gimple.
(detect_type_change): Likewise.
(detect_type_change_ssa): Likewise.
(compute_complex_assign_jump_func): Likewise.
(compute_complex_ancestor_jump_func): Likewise.
(compute_known_type_jump_func): Likewise.
(determine_locally_known_aggregate_parts): Likewise.
(ipa_compute_jump_functions_for_edge): Strengthen local "call" to
a gimple_call; add checked cast to gimple_phi.
(ipa_note_param_call): Require a gimple_call rather than a plain
gimple.
(ipa_analyze_indirect_call_uses): Likewise.
(ipa_analyze_virtual_call_uses): Likewise.
(ipa_analyze_call_uses): Likewise.
(ipa_analyze_stmt_uses):Add checked cast to gimple_call.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
Replace use of is_gimple_call with dyn_cast<gimple_call> and a
new local "call_stmt".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Use gimple_call for callgraph edges
* cgraph.h (cgraph_edge::call_stmt): Strengthen field from plain
gimple to a gimple_call.
(cgraph_node::set_call_stmt_including_clones): Likewise for param
"new_stmt".
(cgraph_node::create_edge): Likewise for param "call_stmt".
(cgraph_node::create_indirect_edge): Likewise.
(cgraph_node::create_edge_including_clones): Likewise for param
"stmt".
(cgraph_edge::set_call_stmt): Likewise for param "new_stmt".
(cgraph_edge::clone): Likewise for param "call_stmt".
(symbol_table::create_edge): Likewise.
* cgraph.c (cgraph_edge::set_call_stmt): Require a gimple_call
rather than a plain gimple.
(symbol_table::create_edge): Likewise.
(cgraph_node::create_edge): Likewise.
(cgraph_node::create_indirect_edge): Likewise.
(cgraph_edge::redirect_call_stmt_to_callee): Strengthen local
"new_stmt" from gimple to gimple_call.
(cgraph_update_edges_for_call_stmt_node): Add checked casts to
gimple_call.
* cgraphbuild.c (pass_build_cgraph_edges::execute): Replace
is_gimple_call with dyn_cast<gimple_call> and new local
"call_stmt".
(cgraph_edge::rebuild_edges): Likewise.
* cgraphclones.c (cgraph_edge::clone): Require a gimple_call
rather than a plain gimple.
(cgraph_node::set_call_stmt_including_clones): Likewise.
(cgraph_node::create_edge_including_clones): Likewise.
* lto-streamer-in.c (fixup_call_stmt_edges_1): Add checked casts
to gimple_call.
* omp-low.c (simd_clone_adjust): Strengthen local "call" from
gimple to gimple_call.
* trans-mem.c (ipa_tm_insert_irr_call): Likewise for "g".
(ipa_tm_insert_gettmclone_call): Likewise; also strengthen "g2"
to gimple_assign.
* tree-emutls.c (gen_emutls_addr): Strengthen local "x" from
gimple to gimple_call.
* tree-inline.c (copy_bb): Replace is_gimple_call with
dyn_cast<gimple_call> and new local "call_stmt".
* value-prof.c (gimple_ic): Require and return a gimple_call,
rather than a plain gimple.
* value-prof.h (gimple_ic): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_call_return_slot_opt_p require a gimple_call.
* gimple.h (gimple_call_return_slot_opt_p): Require a gimple_call
rather than a plain gimple.
* gimple-walk.c (walk_stmt_load_store_addr_ops): Convert usage of
is_gimple_call to dyn_cast<gimple_call>, introducing a new local
"call_stmt".
* trans-mem.c (expand_call_tm): Split local "stmt", strengthening
from plain gimple to a gimple_call, and introducing new local
gimple_assign "assign_stmt".
* tree-inline.c (expand_call_inline): Convert check of code against
GIMPLE_CALL to dyn_cast<gimple_call>, introducing a new local
"call_stmt".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
More gimple_phi
* gimple.h (gimple_phi_set_result): Require a gimple_phi rather
than a plain gimple.
(gimple_phi_set_arg): Likewise.
* tree-outof-ssa.c (remove_gimple_phi_args): Likewise; add a checked
cast to gimple_phi.
* tree-sra.c (replace_removed_params_ssa_names): Add a checked
cast to gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_phi_arg_edge require a gimple_phi
* gimple.h (gimple_phi_arg_edge): Require a gimple_phi rather
than a plain gimple.
* gimple-ssa-strength-reduction.c (ncd_with_phi): Strengthen
param "phi" from gimple to gimple_phi. Add a checked cast.
(ncd_of_cand_and_phis): Add a checked cast.
* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Require a
gimple_phi_iterator; strengthen local "phi" from gimple to a
gimple_phi.
(rewrite_cross_bb_scalar_deps): Strengthen local "psi" from
a gimple_stmt_iterator to a gimple_phi_iterator.
(edge_initial_value_for_loop_phi): Require a gimple phi.
(initial_value_for_loop_phi): Likewise.
* ipa-split.c (consider_split): Convert "bsi" to a
gimple_phi_iterator and "stmt" to a gimple_phi.
* predict.c (predict_extra_loop_exits): Convert "phi_stmt" to be
a gimple_phi; introduce "lhs_def_stmt" as plain gimple.
(apply_return_prediction): Convert "phi" to be a gimple_phi.
* tree-cfg.c (replace_uses_by): Add checked cast to gimple_phi.
(verify_gimple_in_cfg): Introduce gimple_phi_iterator "gpi" and use
it to convert "phi" to a gimple_phi.
* tree-eh.c (cleanup_empty_eh_merge_phis): Convert "ngsi", "ogsi"
to be gimple_phi_iterators. Convert "ophi", "nphi" to be
gimple_phi.
* tree-into-ssa.c (prepare_use_sites_for): Add checked cast to
gimple_phi.
* tree-ssa-coalesce.c (create_outofssa_var_map): Introduce
gimple_phi_iterator "gpi" and use it to convert "phi" to a
gimple_phi.
* tree-ssa-dce.c (propagate_necessity): Introduce local "phi",
from checked cast to gimple_phi.
* tree-ssa-live.c (set_var_live_on_entry): Add checked cast to
gimple_phi.
* tree-ssa-propagate.c (replace_phi_args_in): Require a gimple_phi
rather than a plain gimple.
(substitute_and_fold_dom_walker::before_dom_children): Introduce
gimple_phi_iterator "gpi".
* tree-ssa-sink.c (find_bb_for_arg): Require a gimple_phi rather
than a plain gimple.
(nearest_common_dominator_of_uses): Replace check of code against
GIMPLE_PHI with a dyn_cast<gimple_phi>, introducing a new local.
(statement_sink_location): Add checked cast to gimple_phi.
* tree-ssa-uninit.c (compute_uninit_opnds_pos): Require a
gimple_phi rather than a plain gimple.
(collect_phi_def_edges): Likewise. Add a checked cast.
(find_def_preds): Strengthen param "phi" from gimple to
gimple_phi.
(prune_uninit_phi_opnds_in_unrealizable_paths): Likewise for
params "phi" and "flag_def". Strenghen param "visited_phis" from
hash_set<gimple> * to hash_set<gimple_phi> *. Convert
"flag_arg_def", "phi_arg_def" to gimple_phi using
dyn_cast<gimple_phi>. Similarly, introduce new local
"opnd_def_phi".
(use_pred_not_overlap_with_undef_path_pred): Strengthen param
"phi" from gimple to gimple_phi, and param "visited_phis" from
hash_set<gimple> * to hash_set<gimple_phi> *. Add a checked cast.
(is_use_properly_guarded): Likewise for params.
(find_uninit_use): Replace check of code against GIMPLE_PHI with
a dyn_cast<gimple_phi>, introducing a new local "use_phi".
Strengthen local "visited_phis" from hash_set<gimple> to
hash_set<gimple_phi>.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Update GRAPHITE to use more concrete gimple statement classes
* graphite-scop-detection.c (canonicalize_loop_closed_ssa):
Strengthen local "psi" to be a gimple_phi_iterator and "phi" to
a gimple_phi.
* graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Require
a gimple_phi rathen than a plain gimple.
(remove_simple_copy_phi): Require a gimple_phi_iterator;
strengthen local "phi" to be a gimple_phi and "stmt" to be a
gimple_assign.
(remove_invariant_phi): Likewise.
(simple_copy_phi_p): Require a gimple_phi.
(reduction_phi_p): Require a gimple_phi_iterator; strengthen
local "phi" to be a gimple_phi.
(add_condition_to_pbb): Require a gimple_cond rather than a
plain gimple.
(add_conditions_to_domain): Add checked cast to gimple_cond
within GIMPLE_COND case of switch statement.
(single_pred_cond_non_loop_exit): Return a gimple_cond rather
than a plain gimple, via a checked cast.
(sese_dom_walker::before_dom_children): Strengthen local "stmt"
from gimple to gimple_cond.
(gsi_for_phi_node): Require a gimple_phi, and return a
gimple_phi_iterator.
(insert_out_of_ssa_copy): Strengthen local "stmt" from gimple to
gimple_assign.
(rewrite_reductions_out_of_ssa): Strengthen "psi" to be a
gimple_phi_iterator, and "phi" to be a gimple_phi.
(phi_contains_arg): Require a gimple_phi.
(follow_ssa_with_commutative_ops): Strengthen return type from
gimple to gimple_phi, by converting a check for code GIMPLE_PHI to
a dyn_cast<gimple_phi>, and strengthening local "res" from gimple
to gimple_phi.
(detect_commutative_reduction_arg): Strengthen return type from
gimple to gimple_phi, and strengthen local "phi" to be a
gimple_phi.
(detect_commutative_reduction_assign): Strengthen return type from
gimple to gimple_phi, and strengthen local "res" to be a
gimple_phi.
(follow_inital_value_to_phi): Strengthen return type from
gimple to gimple_phi. Replace check for code GIMPLE_PHI with
a dyn_cast<gimple_phi>.
(detect_commutative_reduction): Strengthen return type and locals
"loop_phi", "phi", "close_phi" from gimple to gimple_phi,
introducing a checked cast of "stmt" in region guarded by
scalar_close_phi_node_p (stmt).
(translate_scalar_reduction_to_array_for_stmt): Require param
"loop_phi" to be a gimple_phi. Strengthen local "assign" from
gimple to gimple_assign.
(remove_phi): Require a gimple_phi.
(close_phi_written_to_memory): Likewise.
(translate_scalar_reduction_to_array): We expect the first element
in each vector to be an arbitrary statement, but all of the
subsequent elements to be phi nodes. Hence the decls of gimple
locals "loop_phi" and "close_phi" are replaced with decls of gimple
"loop_stmt" and "close_stmt", with decls of the more-strongly typed
gimple_phi "loop_phi" and "close_phi" occurring lower down, within
the region where we're dealing with i > 0 and hence where we can
safely assign them using the checked cast as_a <gimple_phi>.
This allows many of the strengthenings from gimple to gimple_phi
above. We eliminate the local "stmt", since we can simply use
"loop_stmt".
(rewrite_commutative_reductions_out_of_ssa_close_phi): Strengthen
param "close_phi" from gimple to gimple_phi, and local "gsi" from
gimple_stmt_iterator to gimple_phi_iterator, converting uses of
gsi_stmt to gsi.phi for type-safety.
(scop_ivs_can_be_represented): Strengthen local "gsi" from
gimple_stmt_iterator to gimple_phi_iterator, and "phi" from gimple
to gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_phi_arg_set_location require a gimple_phi
* gimple.h (gimple_phi_arg_set_location): Require a gimple_phi
rather than a plain gimple.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make add_phi_arg require a gimple_phi
* tree-phinodes.h (add_phi_arg): Require a gimple_phi rather than
a plain gimple.
* tree-phinodes.c (add_phi_arg): Likewise.
* gimple-ssa-strength-reduction.c (create_phi_basis): Strengthen
local "phi" from plain gimple to gimple_phi.
* graphite-scop-detection.c (canonicalize_loop_closed_ssa):
Likewise for "close_phi".
* ipa-split.c (split_function): Convert "psi" to
gimple_phi_iterator.
* omp-low.c (expand_omp_for_static_nochunk): Introduce
gimple_phi_iterator gpi, using it to strengthen "phi" to be a
gimple_phi.
(expand_omp_for_static_chunk): Likewise.
* tree-cfg.c (gimple_duplicate_bb): Make topmost "gsi" decl more
tightly-scoped, and eliminate decls "phis", "phi", "stmt", "copy"
in favor of more tightly-scoped gimple_phi_iterator gpi and
gimple_phi decls "phi" and "copy", and gimple decls "stmt" and
"copy".
* tree-parloops.c (create_parallel_loop): Introduce
gimple_phi_iterator gpi, using it to strengthen "phi" to be a
gimple_phi.
* tree-ssa-loop-im.c (execute_sm_if_changed): Likewise.
* tree-ssa-loop-manip.c (create_iv): Split out new gimple_phi
local "phi" from "stmt", and convert the latter into being a
gimple_assign.
* tree-ssa-pre.c (insert_into_preds_of_block): Strengthen local
"phi" to be a gimple_phi.
* tree-ssa-tail-merge.c (vop_phi): Require a gimple_phi rather
than a plain gimple.
(replace_block_by): Strengthen local "bb2_phi" to be a gimple_phi.
* tree-tailcall.c (add_successor_phi_arg): Use gsi.phi when
invoking add_phi_arg.
(eliminate_tail_call): Introduce gimple_phi_iterator gpi, using it
to strengthen "phi" to be a gimple_phi.
(create_tailcall_accumulator): Strengthen local "phi" to be a
gimple_phi.
(tree_optimize_tail_calls_1): Likewise.
* tree-vect-data-refs.c (vect_setup_realignment): Strengthen
local "phi_stmt" to be a gimple_phi.
* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
Strengthen "gsi", "gsi_orig", "gsi_new" to be
gimple_phi_iterators, and "phi" "orig_phi", "new_phi" to be
gimple_phi instances.
(slpeel_tree_peel_loop_to_edge): Strengthen local "new_phi" to be
a gimple_phi.
* tree-vect-loop.c (get_initial_def_for_induction): Likewise for
"induction_phi".
(vect_create_epilog_for_reduction): Add checked casts to
gimple_phi; strengthen local "outer_phi" to gimple_phi and
"new_vec_stmt" to gimple_assign.
(vect_finalize_reduction): Strengthen local "vect_phi" to
gimple_phi.
(vectorizable_reduction): Likewise for "new_phi".
* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
(vectorizable_load): Likewise for "phi".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Make gimple_phi_arg_def_ptr and gimple_phi_arg_has_location require a gimple_phi
* gimple.h (gimple_phi_arg_def_ptr): Require a gimple_phi rather
than a plain gimple.
(gimple_phi_arg_has_location): Likewise.
* gimple-streamer-in.c (input_phi): Return a gimple_phi rather
than a plain gimple.
* gimple-streamer-out.c (output_phi): Require a gimple_phi rather
than a plain gimple.
(output_bb): Convert iteration to a gimple_phi_iterator, and local
"phi" to gimple_phi.
* omp-low.c (expand_omp_for_static_chunk): Convert iterator "psi"
to a gimple_phi_iterator; convert locals "phi" and "nphi" to be
gimple_phi.
* tree-cfg.c (gimple_duplicate_sese_tail): Likewise for "psi" and
"phi".
(move_block_to_fn): Introduce new gimple_phi_iterator "psi", using
it in place of "gsi" where necessary. Convert "phi" to be a
gimple_phi.
* tree-cfgcleanup.c (remove_forwarder_block): Likewise.
* tree-vect-loop-manip.c (vect_loop_versioning): Convert "gsi" to
a gimple_phi_iterator, and "orig_phi" and "new_phi" to be
gimple_phi.
* tree.c (find_decls_types_in_node): Introduce new
gimple_phi_iterator "psi", using it in place of "si" where
necessary. Convert "phi" to be a gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
omp-low.c: Use more concrete types of gimple statement for various locals
* omp-low.c (finalize_task_copyfn): Strengthen local "bind" from
plain gimple to gimple_bind.
(lower_rec_input_clauses): Strengthen local "g" from
plain gimple to gimple_assign.
(lower_lastprivate_clauses): Likewise for "stmt" to gimple_cond
and "g" to gimple_call.
(expand_omp_for_init_vars): Likewise, for two decls of "stmt" to
gimple_assign.
(expand_omp_atomic_pipeline): Likewise for one decl of "stmt".
(expand_omp_atomic_mutex): Likewise.
(lower_omp_master): Likewise for "x" to gimple_call.
(lower_omp_ordered): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-parloops.c: Use gimple_phi in various places
* tree-parloops.c (reduction_info::keep_res): Strengthen field
from plain gimple to gimple_phi.
(transform_to_exit_first_loop): Strengthen locals "phi", "nphi"
to gimple_phi. Eliminate early decl of gimple_stmt_iterator gsi
in favor of more tightly scoped gimple_phi_iterators, and a final
later decl as a gimple_stmt_iterator.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_sections
* coretypes.h (gimple_omp_sections): New typedef.
(const_gimple_omp_sections): New typedef.
* gimple-pretty-print.c (dump_gimple_omp_sections): Require a
gimple_omp_sections rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_sections within
GIMPLE_OMP_SECTIONS case of switch statement.
* gimple.c (gimple_build_omp_sections): Return a
gimple_omp_sections rather than a plain gimple.
* gimple.h (gimple_build_omp_sections): Return a
gimple_omp_sections rather than a plain gimple.
* omp-low.c (scan_omp_sections): Require a gimple_omp_sections
rather than a plain gimple.
(scan_omp_1_stmt): Add checked cast to gimple_omp_sections within
GIMPLE_OMP_SECTIONS case of switch statement.
(expand_omp_sections): Strengthen local "sections_stmt" from gimple
to gimple_omp_sections.
(lower_omp_sections): Likewise for "stmt".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_teams
* coretypes.h (gimple_omp_teams): New typedef.
(const_gimple_omp_teams): New typedef.
* gimple.h (gimple_build_omp_teams): Return a gimple_omp_teams
rather than a plain gimple.
(gimple_omp_teams_set_clauses): Require a gimple_omp_teams rather
than a plain gimple.
* gimple-pretty-print.c (dump_gimple_omp_teams): Require a
gimple_omp_teams rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_teams within
GIMPLE_OMP_TEAMS case of switch statement.
* gimple.c (gimple_build_omp_teams): Return a gimple_omp_teams
rather than a plain gimple.
* omp-low.c (scan_omp_teams): Likewise.
(scan_omp_1_stmt): Add checked cast to gimple_omp_teams within
GIMPLE_OMP_TEAMS case of switch statement.
(lower_omp_teams): Strengthen local "teams_stmt" from gimple to
gimple_omp_teams.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_target
* coretypes.h (gimple_omp_target): New typedef.
(const_gimple_omp_target): New typedef.
* gimple.h (gimple_build_omp_target): Return a gimple_omp_target
rather than a plain gimple.
(gimple_omp_target_set_clauses): Require a gimple_omp_target
rather than a plain gimple.
(gimple_omp_target_set_kind): Likewise.
(gimple_omp_target_child_fn_ptr): Likewise.
(gimple_omp_target_set_child_fn): Likewise.
(gimple_omp_target_data_arg_ptr): Likewise.
(gimple_omp_target_set_data_arg): Likewise.
(gimple_omp_target_child_fn): Require a const_gimple_omp_target
rather than a plain const_gimple.
(gimple_omp_target_data_arg): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_target): Require a
gimple_omp_target rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_target within
GIMPLE_OMP_TARGET case of switch statement.
* gimple.c (gimple_build_omp_target): Return a gimple_omp_target
rather than a plain gimple.
* gimplify.c (gimplify_omp_target_update): Strengthen local "stmt"
from gimple to gimple_omp_target.
* omp-low.c (scan_omp_target): Require a gimple_omp_target rather
than a plain gimple.
(scan_omp_1_stmt): Add checked cast to gimple_omp_target within
GIMPLE_OMP_TARGET case of switch statement.
(expand_omp_target): Strengthen local "entry_stmt" from gimple to
gimple_omp_target.
(lower_omp_target): Likewise for "stmt".
* tree-nested.c (convert_nonlocal_reference_stmt): Add checked
cast to gimple_omp_target.
(convert_local_reference_stmt): Likewise.
(convert_gimple_call): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_single
* coretypes.h (gimple_omp_single): New typedef.
(const_gimple_omp_single): New typedef.
* gimple.h (gimple_build_omp_single): Return a gimple_omp_single
rather than a plain gimple.
(gimple_omp_single_set_clauses): Require a gimple_omp_single
rather than a plain gimple.
* gimple-pretty-print.c (dump_gimple_omp_single): Require a
gimple_omp_single rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_single within
GIMPLE_OMP_SINGLE case of switch statement.
* gimple.c (gimple_build_omp_single): Return a gimple_omp_single
rather than a plain gimple.
* omp-low.c (scan_omp_single): Require a gimple_omp_single rather
than a plain gimple.
(scan_omp_1_stmt): Add checked cast to gimple_omp_single within
GIMPLE_OMP_SINGLE case of switch statement.
(lower_omp_single_simple): Require a gimple_omp_single rather
than a plain gimple.
(lower_omp_single_copy): Likewise.
(lower_omp_single): Strengthen local "single_stmt" from gimple to
gimple_omp_single.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_task
* coretypes.h (gimple_omp_task): New typedef.
(const_gimple_omp_task): New typedef.
* gimple.h (gimple_build_omp_task): Return a gimple_omp_task
rather than a plain gimple.
* gimple-pretty-print.c (dump_gimple_omp_task): Require a
gimple_omp_task rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_task within
GIMPLE_OMP_TASK case of switch statement.
* gimple.c (gimple_build_omp_task): Return a gimple_omp_task
rather than a plain gimple.
* omp-low.c (finalize_task_copyfn): Require a gimple_omp_task
rather than a plain gimple.
(delete_omp_context): Add checked cast to gimple_omp_task.
(scan_omp_task): Strengthen local "stmt" from gimple to
gimple_omp_task.
(expand_task_call): Require a gimple_omp_task rather than a plain
gimple.
(expand_omp_taskreg): Add checked cast to gimple_omp_task.
(create_task_copyfn): Require a gimple_omp_task rather than a
plain gimple.
(lower_omp_taskreg): Add checked cast to gimple_omp_task.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-cfg.c: Make verify_gimple_call require a gimple_call
* tree-cfg.c (verify_gimple_call): Require a gimple_call rather
than a plain gimple.
(verify_gimple_stmt): Add checked cast to gimple_call within
GIMPLE_CALL case of switch statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_parallel
* coretypes.h (gimple_omp_parallel): New typedef.
(const_gimple_omp_parallel): New typedef.
* cgraphbuild.c (build_cgraph_edges): Convert check of code
against GIMPLE_OMP_PARALLEL to a dyn_cast <gimple_omp_parallel>
and new local.
* gimple-pretty-print.c (dump_gimple_omp_parallel): Require a
gimple_omp_parallel rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_parallel
within GIMPLE_OMP_PARALLEL case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise, introducing a local.
* gimple.c (gimple_build_omp_parallel): Return a
gimple_omp_parallel rather than a plain gimple.
(gimple_copy): Add checked casts to gimple_omp_parallel within
GIMPLE_OMP_PARALLEL case of switch statement, introducing locals.
* gimple.h (gimple_build_omp_parallel): Return a
gimple_omp_parallel rather than a plain gimple.
(gimple_omp_parallel_clauses_ptr): Require a gimple_omp_parallel
rather than a plain gimple.
(gimple_omp_parallel_set_clauses): Likewise.
(gimple_omp_parallel_data_arg_ptr): Likewise.
(gimple_omp_parallel_set_data_arg): Likewise.
(gimple_omp_parallel_child_fn_ptr): Likewise.
(gimple_omp_parallel_set_child_fn): Likewise.
(gimple_omp_parallel_child_fn): Require a
const_gimple_omp_parallel rather than a plain const_gimple.
(gimple_omp_parallel_data_arg): Likewise.
* omp-low.c (scan_omp_parallel): Strengthen local "stmt" from
gimple to gimple_omp_parallel.
(expand_parallel_call): Require a gimple_omp_parallel for
"entry_stmt" rather than a plain gimple.
(remove_exit_barrier): Strengthen local "parallel_stmt" from
gimple to gimple_omp_parallel.
(expand_omp_taskreg): Add checked casts to gimple_omp_parallel.
* tree-inline.c (remap_gimple_stmt): Add a checked cast to
gimple_omp_parallel within GIMPLE_OMP_PARALLEL case of switch
statement, introducing local.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_for
* coretypes.h (gimple_omp_for): New.
(const_gimple_omp_for): New.
* gimple.h (gimple_build_omp_for): Return a gimple_omp_for rather
than a plain gimple.
(gimple_omp_for_set_kind): Require a gimple_omp_for rather than a
plain gimple.
(gimple_omp_for_set_combined_p): Likewise.
(gimple_omp_for_set_combined_into_p): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_for): Require a
gimple_omp_for rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_for in
GIMPLE_OMP_FOR case of switch statement.
* gimple.c (gimple_build_omp_for): Return a gimple_omp_for rather
than a plain gimple.
(gimple_copy): Add a checked cast to gimple_omp_for and a new local.
* gimplify.c (gimplify_omp_for): Strengthen local "gfor" from
gimple to gimple_omp_for.
* omp-low.c (omp_for_data::for_stmt): Strengthen field from gimple
to gimple_omp_for.
(extract_omp_for_data): Require a gimple_omp_for rather than a
plain gimple.
(workshare_safe_to_combine_p): Add a checked cast to
gimple_omp_for.
(get_ws_args_for): Convert check of code against GIMPLE_OMP_FOR
with a dyn_cast<gimple_omp_for> and a new local.
(scan_omp_parallel): Add a checked cast to gimple_omp_for and a
new local.
(scan_omp_for): Require a gimple_omp_for rather than a plain
gimple.
(scan_omp_1_stmt): Add a checked cast to gimple_omp_for in
GIMPLE_OMP_FOR case of switch statement.
(expand_omp_for): Add a checked cast to gimple_omp_for.
(lower_omp_for): Strengthen local "stmt" from gimple to
gimple_omp_for.
* tree-nested.c (walk_gimple_omp_for): Require a gimple_omp_for
rather than a plain gimple.
(convert_nonlocal_reference_stmt): Add a checked cast to
gimple_omp_for in GIMPLE_OMP_FOR case of switch statement.
(convert_local_reference_stmt): Likewise.
* tree-parloops.c (create_parallel_loop): Strengthen local
"for_stmt" from gimple to gimple_omp_for.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_critical
* coretypes.h (gimple_omp_critical): New typedef.
(const_gimple_omp_critical): New typedef.
* gimple-pretty-print.c (dump_gimple_omp_critical): Require a
gimple_omp_critical rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_critical
within GIMPLE_OMP_CRITICAL case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise.
* gimple.c (gimple_build_omp_critical): Return a gimple_omp_critical
rather than a plain gimple.
(gimple_copy): Add checked casts to gimple_omp_critical
within GIMPLE_OMP_CRITICAL case of switch statement.
* gimple.h (gimple_debug): Likewise.
(gimple_build_omp_critical): Return a gimple_omp_critical rather
than a plain gimple.
(gimple_omp_critical_name): Require a const_gimple_omp_critical
rather than a plain const_gimple.
(gimple_omp_critical_name_ptr): Require a gimple_omp_critical
rather than a plain gimple.
(gimple_omp_critical_set_name): Likewise.
* omp-low.c (check_omp_nesting_restrictions): Add a checked cast
to gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
statement, introducing a new local "other_crit" for type-safety.
(lower_omp_critical): Strengthen local "stmt" to
gimple_omp_critical.
* tree-inline.c (remap_gimple_stmt): Add a checked cast to
gimple_omp_critical within GIMPLE_OMP_CRITICAL case of switch
statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_continue
* coretypes.h (gimple_omp_continue): New typedef.
(const_gimple_omp_continue): New typedef.
* gimple.h (gimple_build_omp_continue): Return a
gimple_omp_continue rather than a plain gimple.
(gimple_omp_continue_control_def): Require a
const_gimple_omp_continue rather than a plain const_gimple.
(gimple_omp_continue_control_use): Likewise.
(gimple_omp_continue_control_def_ptr): Require a gimple_omp_continue
rather than a plain gimple.
(gimple_omp_continue_set_control_def): Likewise.
(gimple_omp_continue_control_use_ptr): Likewise.
(gimple_omp_continue_set_control_use): Likewise.
* gimple-pretty-print.c (dump_gimple_omp_continue): Require a
gimple_omp_continue rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_continue
within GIMPLE_OMP_CONTINUE case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise, adding a new local.
* gimple.c (gimple_build_omp_continue): Return a
gimple_omp_continue rather than a plain gimple.
* omp-low.c (gimple_build_cond_empty): Return a gimple_cond
rather than a plain gimple.
(expand_omp_for_generic): Split local "stmt" into "assign_stmt",
"cont_stmt", "cond_stmt", "call_stmt" of types gimple_assign,
gimple_omp_continue, gimple_cond, gimple_call respectively.
(expand_omp_for_static_nochunk): Likewise, splitting into two
"cond_stmt" decls. "assign_stmt", "cont_stmt"
(expand_omp_for_static_chunk): Likewise, splitting into
"cond_stmt", "assign_stmt", "cont_stmt".
(expand_omp_sections): Strengthen local "cont" from gimple to
gimple_omp_continue.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_atomic_store
* coretypes.h (gimple_omp_atomic_store): New typedef.
(const_gimple_omp_atomic_store): New typedef.
* gimple-pretty-print.c (dump_gimple_omp_atomic_store): Require
a gimple_omp_atomic_store rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_omp_atomic_store
within GIMPLE_OMP_ATOMIC_STORE case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise.
* gimple.c (gimple_build_omp_atomic_store): Return a
gimple_omp_atomic_store rather than a plain gimple.
* gimple.h (gimple_build_omp_atomic_store): Return a
gimple_omp_atomic_store rather than a plain gimple.
(gimple_omp_atomic_store_set_val): Require a gimple_omp_atomic_store
rather than a plain gimple.
(gimple_omp_atomic_store_val_ptr): Likewise.
(gimple_omp_atomic_store_val): Require a
const_gimple_omp_atomic_store rather than a plain const_gimple.
* gimplify.c (gimplify_omp_atomic): Strengthen locals "loadstmt" and
"storestmt" from gimple to gimple_omp_atomic_load loadstmt and
gimple_omp_atomic_store storestmt respectively.
* omp-low.c (expand_omp_atomic): Strengthen local "store" from
gimple to gimple_omp_atomic_store.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_omp_atomic_load
* coretypes.h (gimple_omp_atomic_load): New typedef.
(const_gimple_omp_atomic_load): New typedef.
* gimple-pretty-print.c (dump_gimple_omp_atomic_load): Require a
gimple_omp_atomic_load rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_omp_atomic_load
within GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise, introducing a new local.
* gimple.c (gimple_build_omp_atomic_load): Return a
gimple_omp_atomic_load rather than a plain gimple.
* gimple.h (gimple_build_omp_atomic_load): Return a
gimple_omp_atomic_load rather than a plain gimple.
(gimple_omp_atomic_load_set_lhs): Require a
gimple_omp_atomic_load rather than a plain gimple.
(gimple_omp_atomic_load_lhs_ptr): Likewise.
(gimple_omp_atomic_load_set_rhs): Likewise.
(gimple_omp_atomic_load_rhs_ptr): Likewise.
(gimple_omp_atomic_load_lhs): Require a
const_gimple_omp_atomic_load rather than a plain const_gimple.
(gimple_omp_atomic_load_rhs): Likewise.
* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
to gimple_omp_atomic_load within GIMPLE_OMP_ATOMIC_LOAD case of
switch statement.
* omp-low.c (expand_omp_atomic): Strengthen type of local "load"
from gimple to gimple_omp_atomic_load.
(lower_omp_1): Add a checked cast to gimple_omp_atomic_load within
GIMPLE_OMP_ATOMIC_LOAD case of switch statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Use more concrete types for various gimple statements
* cgraphunit.c (thunk_adjust): Strengthen local "stmt" from gimple
to gimple_assign.
* gimple-ssa-isolate-paths.c
(insert_trap_and_remove_trailing_statements): Strengthen local
"new_stmt" from gimple to gimple_call.
* gimple-ssa-strength-reduction.c (replace_mult_candidate):
Strengthen local "copy_stmt" from gimple to gimple_assign.
(create_add_on_incoming_edge): Likewise, for "new_stmt".
(insert_initializers): Likewise, for "init_stmt".
(introduce_cast_before_cand): Likewise, for "cast_stmt".
(replace_one_candidate): Likewise, for "copy_stmt" and
"cast_stmt".
* gimplify.c (build_stack_save_restore): Require gimple_calls
rather than plain gimples.
(gimplify_bind_expr): Strengthen locals "stack_save" and
"stack_restore" from gimple to gimple_call. Strengthen "gs"
to gimple_try.
(gimplify_switch_expr): Strengthen local "gimple_switch" from
gimple to gimple_switch, and "new_default" to gimple_label.
(gimplify_cond_expr): Strengthen local "gimple_cond" from gimple
to gimple_cond.
(gimplify_init_constructor): Strengthen local "init" from gimple
to gimple_assign.
(gimplify_cleanup_point_expr): Strengthen local "gtry" from gimple
to gimple_try.
(gimple_push_cleanup): Strengthen locals "ffalse" and "ftrue" from
gimple to gimple_assign.
* tree-eh.c (do_goto_redirection): Strengthen local to gimple_goto.
(emit_post_landing_pad): Strengthen local to gimple_label.
* tree-outof-ssa.c (insert_backedge_copies): Strengthen local
"stmt" from gimple to gimple_assign.
* tree-parloops.c (take_address_of): Likewise.
* tree-predcom.c (replace_ref_with): Likewise, for "new_stmt".
(initialize_root_vars_lm): Likewise, for "init_stmt".
(reassociate_to_the_same_stmt): Likewise, for "new_stmt" and "tmp_stmt".
* tree-profile.c (gimple_gen_edge_profiler): Likewise, for "stmt1",
"stmt2", "stmt3".
(gimple_gen_ic_profiler): Likewise.
(gimple_gen_ic_func_profiler): Strengthen local "stmt1" from
gimple to gimple_call, and "stmt2" to gimple_assign.
* tree-scalar-evolution.c (scev_const_prop): Strengthen local
"ass" from gimple to gimple_assign.
* tree-sra.c (build_ref_for_offset): Likewise for "stmt".
(generate_subtree_copies): Likewise; also strengthen "ds" to
gimple_debug.
(init_subtree_with_zero): Likewise.
(sra_modify_expr): Likewise.
(load_assign_lhs_subreplacements): Likewise.
(sra_modify_assign): Strengthen "ds" to gimple_debug.
(sra_ipa_reset_debug_stmts): Likewise for "def_temp".
* tree-ssa-ccp.c (insert_clobber_before_stack_restore):
Strengthen local "clobber_stmt" from gimple to gimple_assign.
* tree-ssa-dce.c (remove_dead_stmt): Strengthen "note" to
gimple_debug.
* tree-ssa-dom.c (record_equivalences_from_stmt): Strengthen
local "new_stmt" from gimple to gimple_assign.
(optimize_stmt): Likewise.
* tree-ssa-forwprop.c (simplify_bitwise_binary): Likewise for
4 declarations of "newop".
(simplify_rotate): Likewise for "g".
* tree-ssa-loop-im.c (rewrite_reciprocal): Likewise for 3 locals.
(rewrite_bittest): Likewise for "stmt" and "stmt2".
(move_computations_dom_walker::before_dom_children): Likewise for
"new_stmt".
(execute_sm): Likewise for "load" and "store".
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts):
Strengthen local "stmt" from gimple to gimple_call.
(unloop_loops): Likewise.
* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Strengthen
local "ass" from gimple to gimple_assign.
(remove_unused_ivs): Strengthen "def_temp" to gimple_debug.
* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Strengthen local "stmt"
from gimple to gimple_assign.
* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Strengthen local
"prefetch" from gimple to gimple_call.
* tree-ssa-math-opts.c (insert_reciprocals): Strengthen local
"new_stmt" from gimple to gimple_assign.
(powi_as_mults_1): Likewise for "mult_stmt".
(powi_as_mults): Likewise for "div_stmt".
(build_and_insert_binop): Likewise for "stmt".
(build_and_insert_cast): Likewise.
(pass_cse_sincos::execute): Likewise for "stmt" and various decls
of "new_stmt".
(convert_mult_to_fma): Likewise for "fma_stmt".
* tree-ssa-phiopt.c (conditional_replacement): Likewise for "new_stmt".
(abs_replacement): Likewise.
* tree-ssa-phiprop.c (phiprop_insert_phi): Likewise for "tmp".
* tree-ssa-pre.c (create_expression_by_pieces): Likewise for "newstmt".
(eliminate_insert): Likewise for "tem".
* tree-ssa-propagate.c (update_gimple_call): Strengthen locals
"new_stmt" and "stmt" from gimple to gimple_call.
(update_call_from_tree): Likewise for "new_stmt".
* tree-ssa-reassoc.c (build_and_add_sum): Likewise for "sum".
(update_ops): Likewise for "g".
(maybe_optimize_range_tests): Likewise.
(rewrite_expr_tree_parallel): Require a gimple_assign rather than
a plain gimple.
(reassociate_bb): Add a checked cast to gimple_assign.
* tree-ssa.c (insert_debug_temp_for_var_def): Strengthen local
"def_temp" from gimple to gimple_debug.
* tree-switch-conversion.c (emit_case_bit_tests): Strengthen local
"shift_stmt" from gimple to gimple_assign.
* tree-tailcall.c (adjust_return_value_with_ops): Likewise for
"stmt".
(update_accumulator_with_ops): Likewise.
* tree-vect-data-refs.c (bump_vector_ptr): Likewise for
"incr_stmt".
* tree-vect-stmts.c (vectorizable_condition): Likewise for
"new_stmt".
* tree-vrp.c (build_assert_expr_for): Likewise for "assertion".
(simplify_truth_ops_using_ranges): Likewise for "newop".
(simplify_float_conversion_using_ranges): Likewise for "conv".
* ubsan.c (instrument_mem_ref): Strengthen local "g" from gimple
to gimple_call.
* value-prof.c (gimple_divmod_fixed_value): Require a
gimple_assign rather than a plain gimple; strengthen types of locals.
(gimple_mod_pow2): Likewise.
(gimple_mod_subtract): Likewise.
(gimple_divmod_fixed_value_transform): Strengthen local
"stmt" from gimple to gimple_assign.
(gimple_mod_pow2_value_transform): Likewise.
(gimple_mod_subtract_transform): Likewise.
(gimple_ic): Strengthen types of locals.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_try
* coretypes.h (gimple_try): New typedef.
(const_gimple_try): New typedef.
* gimple-low.c (gimple_try_catch_may_fallthru): Require a
gimple_try rather than a plain gimple.
(gimple_stmt_may_fallthru): Add checked cast to gimple_try.
* gimple-pretty-print.c (dump_gimple_try): Require a gimple_try
rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_try within
GIMPLE_TRY case of switch statement.
* tree-eh.c (finally_tree_node::parent): Strengthen field from
gimple to gimple_try.
(record_in_finally_tree): Require a gimple_try rather than a plain
gimple.
(collect_finally_tree): Likewise.
(collect_finally_tree_1): Likewise.
(struct leh_tf_state::try_finally_expr): Strengthen field from
gimple to gimple_try.
(struct leh_tf_state::top_p): Likewise.
(lower_eh_must_not_throw): Require a gimple_try rather than a
plain gimple.
(frob_into_branch_around): Likewise.
(lower_try_finally_dup_block): Strengthen local from gimple to
gimple_try.
(honor_protect_cleanup_actions): Split out uses of "x" into new
locals "eh_mnt" and "try_stmt" with stronger types.
(lower_try_finally): Require a gimple_try rather than a plain
gimple.
(lower_catch): Likewise.
(lower_eh_filter): Likewise.
(lower_eh_must_not_throw): Likewise.
(lower_cleanup): Likewise.
(lower_eh_constructs_2): Add checked cast to gimple_try within
GIMPLE_TRY case of switch statement, introducing new local
"try_stmt", using it for type-safety.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Use subclasses of gimple in various places
* asan.c (insert_if_then_before_iter): Require a gimple cond
rathern than a plain gimple.
(asan_expand_check_ifn): Add a checked cast to gimple_cond.
* cfgloopmanip.c (create_empty_if_region_on_edge): Likewise.
* omp-low.c (simd_clone_adjust): Strengthen local from gimple
to gimple_phi.
* sese.c (set_ifsese_condition): Strengthen local from gimple to
gimple_cond.
* tree-call-cdce.c (gen_one_condition): Strengthen locals from
gimple to gimple_assign and gimple_cond.
* tree-ssa-phiopt.c (minmax_replacement): Likewise.
(cond_store_replacement): Strengthen locals from gimple to
gimple_phi and gimple_assign.
(cond_if_else_store_replacement_1): Likewise.
* tree-ssa-pre.c (do_regular_insertion): Strengthen local from
gimple to gimple_assign.
* tree-switch-conversion.c (hoist_edge_and_branch_if_true):
Strengthen local from gimple to gimple_cond.
(gen_def_assigns): Return a gimple_assign rather than a plain
gimple.
(gen_inbound_check): Strengthen locals from gimple to gimple_cond
and gimple_assign.
* tree-vect-loop-manip.c (slpeel_add_loop_guard): Strengthen local
from gimple to gimple_cond.
(set_prologue_iterations): Strengthen locals from gimple to
gimple_phi and gimple_cond.
* value-prof.c (gimple_ic): Strengthen local from gimple to
gimple_phi.
(gimple_stringop_fixed_value): Strengthen locals from gimple to
gimple_assign, gimple_cond, gimple_call, and gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_eh_dispatch
* coretypes.h (gimple_eh_dispatch): New typedef.
(const_gimple_eh_dispatch): New typedef.
* gimple-pretty-print.c (dump_gimple_eh_dispatch): Require a
gimple_eh_dispatch rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_eh_dispatch
within GIMPLE_EH_DISPATCH case of switch statement.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimple.c (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
rather than a plain gimple.
* gimple.h (gimple_build_eh_dispatch): Return a gimple_eh_dispatch
rather than a plain gimple.
(gimple_eh_dispatch_region): Require a const_gimple_eh_dispatch
rather than a plain const_gimple.
(gimple_eh_dispatch_set_region): Require a gimple_eh_dispatch
rather than a plain gimple.
* tree-cfg.c (make_edges): Add a checked cast to gimple_eh_dispatch
within GIMPLE_EH_DISPATCH case of switch statement.
(gimple_verify_flow_info): Likewise.
(gimple_redirect_edge_and_branch): Likewise.
(move_stmt_r): Likewise, adding a local.
* tree-eh.c (emit_eh_dispatch): Convert local from gimple to
gimple_eh_dispatch.
(make_eh_dispatch_edges): Require a gimple_eh_dispatch rather than
a plain gimple.
(redirect_eh_dispatch_edge): Likewise.
(lower_eh_dispatch): Likewise.
(execute_lower_eh_dispatch): Add a checked cast to
gimple_eh_dispatch.
(mark_reachable_handlers): Likewise.
(verify_eh_dispatch_edge): Require a gimple_eh_dispatch rather
than a plain gimple.
* tree-eh.h (make_eh_dispatch_edges): Likewise.
(redirect_eh_dispatch_edge): Likewise.
(verify_eh_dispatch_edge): Likewise.
* tree-inline.c (remap_gimple_stmt): Add a checked cast to
gimple_eh_dispatch within GIMPLE_EH_DISPATCH case of switch
statement, adding a local.
(copy_edges_for_bb): Add a checked cast to gimple_eh_dispatch.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_resx
* coretypes.h (gimple_resx): New typedef.
(const_gimple_resx): New typedef.
* gimple.h (gimple_build_resx): Return a gimple_resx rather than a
plain gimple.
(gimple_resx_region): Require a const_gimple_resx rather than a
plain const_gimple.
(gimple_resx_set_region): Require a gimple_resx rather than a
plain gimple.
* gimple-pretty-print.c (dump_gimple_resx): Require a gimple_resx
rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_resx within
GIMPLE_RESX case of switch statement.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimple.c (gimple_build_resx): Return a gimple_resx rather than
a plain gimple.
* tree-cfg.c (move_stmt_r): Add a checked cast to gimple_resx
within GIMPLE_RESX case of switch statement, adding a new local.
* tree-eh.c (emit_resx): Convert local "x" from gimple to
gimple_resx.
(lower_resx): Require a gimple_resx rather than a plain gimple.
(pass_lower_resx::execute): Add a checked cast to gimple_resx.
(mark_reachable_handlers): Likewise.
* tree-inline.c (remap_gimple_stmt): Add a checked cast to
gimple_resx within GIMPLE_RESX case of switch statement, adding
a new local.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_eh_else
* coretypes.h (gimple_eh_else): New typedef.
(const_gimple_eh_else): New typedef.
* gimple.h (gimple_build_eh_else): Return a gimple_eh_else rather
than a plain gimple.
(gimple_eh_else_n_body_ptr): Require a gimple_eh_else rather than
a plain gimple.
(gimple_eh_else_n_body): Likewise.
(gimple_eh_else_e_body_ptr): Likewise.
(gimple_eh_else_e_body): Likewise.
(gimple_eh_else_set_n_body): Likewise.
(gimple_eh_else_set_e_body): Likewise.
* gimple-low.c (lower_stmt): Add checked cast to gimple_eh_else
within GIMPLE_EH_ELSE case of switch statement, introducing a new
local.
(gimple_stmt_may_fallthru): Likewise.
* gimple-pretty-print.c (dump_gimple_eh_else): Require a
gimple_eh_else rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_eh_else within
GIMPLE_EH_ELSE case of switch statement
* gimple-walk.c (walk_gimple_stmt): Add checked cast to
gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
introducing a new local.
* gimple.c (gimple_build_eh_else): Return a gimple_eh_else
rather than a plain gimple.
(gimple_copy): Add checked casts to gimple_eh_else within
GIMPLE_EH_ELSE case of switch statement, introducing new locals.
* tree-cfg.c (verify_gimple_in_seq_2): Add checked cast to
gimple_eh_else within GIMPLE_EH_ELSE case of switch statement,
introducing a new local.
* tree-eh.c (collect_finally_tree): Likewise.
(replace_goto_queue_1): Likewise.
(get_eh_else): Return a gimple_eh_else rather than a plain gimple.
(honor_protect_cleanup_actions): Convert local "eh_else" from
gimple to gimple_eh_else.
(lower_try_finally_nofallthru): Likewise.
(lower_try_finally_onedest): Introduce locals "eh_else" and
"label_stmt", using them in favor of "x" for the gimple_eh_else
and the gimple_label.
(lower_try_finally_copy): Convert local "eh_else" from gimple to
gimple_eh_else.
(lower_try_finally_switch): Likewise.
(decide_copy_try_finally): Likewise.
(refactor_eh_r): Add checked cast to gimple_eh_else within
GIMPLE_EH_ELSE case of switch statement, introducing a new local.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_eh_must_not_throw
* coretypes.h (gimple_eh_must_not_throw): New typedef.
(const_gimple_eh_must_not_throw): New typedef.
* gimple-pretty-print.c (dump_gimple_eh_must_not_throw): Require
a gimple_eh_must_not_throw rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_eh_must_not_throw
within GIMPLE_EH_MUST_NOT_THROW case of switch statement.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimple.c (gimple_build_eh_must_not_throw): Return a
gimple_eh_must_not_throw rather than a plain gimple.
* gimple.h (gimple_build_eh_must_not_throw): Return a
gimple_eh_must_not_throw rather than a plain gimple.
(gimple_eh_must_not_throw_fndecl): Require a
gimple_eh_must_not_throw rather than a plain gimple.
(gimple_eh_must_not_throw_set_fndecl): Likewise.
* tree-eh.c (lower_eh_must_not_throw): Add checked cast.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_eh_filter
* coretypes.h (gimple_eh_filter): New typedef.
(const_gimple_eh_filter): New typedef.
* gimple.h (gimple_build_eh_filter): Return a gimple_eh_filter
rather than a plain gimple.
* gimple-pretty-print.c (dump_gimple_eh_filter): Require a
gimple_eh_filter rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_eh_filter within
GIMPLE_EH_FILTER case of switch statement.
* gimple.c (gimple_build_eh_filter): Return a gimple_eh_filter
rather than a plain gimple.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_catch
* coretypes.h (gimple_catch): New typedef.
(const_gimple_catch): New typedef.
* gimple-low.c (lower_try_catch): Add checked cast to gimple_catch.
(gimple_try_catch_may_fallthru): Likewise.
* gimple-pretty-print.c (dump_gimple_catch): Require a gimple_catch
rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_catch within
GIMPLE_CATCH case of switch statement.
* gimple-walk.c (walk_gimple_op): Likewise.
(walk_gimple_stmt): Likewise.
* gimple.c (gimple_build_catch): Return a gimple_catch rather than
a plain gimple.
(gimple_copy): Add checked casts to gimple_catch within
GIMPLE_CATCH case of switch statement, introducing new locals.
* gimple.h (gimple_build_catch): Return a gimple_catch rather than
a plain gimple.
(gimple_catch_types_ptr): Require a gimple_catch rather than a
plain gimple.
(gimple_catch_handler_ptr): Likewise.
(gimple_catch_handler): Likewise.
(gimple_catch_set_types): Likewise.
(gimple_catch_set_handler): Likewise.
* omp-low.c (lower_omp_1): Add checked cast to gimple_catch within
GIMPLE_CATCH case of switch statement.
* tree-cfg.c (verify_gimple_in_seq_2): Likewise.
(do_warn_unused_result): Likewise.
* tree-eh.c (collect_finally_tree): Likewise.
(replace_goto_queue_1): Likewise.
(lower_catch): Convert local from gimple to gimple_catch.
(refactor_eh_r): Add checked cast to gimple_catch within
GIMPLE_CATCH case of switch statement.
* tree-inline.c (remap_gimple_stmt): Likewise.
(estimate_num_insns): Add checked cast to gimple_catch within
GIMPLE_CATCH case of switch statement, introducing new local.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_transaction
* coretypes.h (gimple_transaction): New typedef.
(const_gimple_transaction): New typedef.
* gimple.h (gimple_build_transaction): Return a gimple_transaction
rather than a plain gimple.
(gimple_transaction_body_ptr): Require a gimple_transaction rather
than a plain gimple.
(gimple_transaction_body): Likewise.
(gimple_transaction_label_ptr): Likewise.
(gimple_transaction_set_body): Likewise.
(gimple_transaction_set_label): Likewise.
(gimple_transaction_set_subcode): Likewise.
(gimple_transaction_label): Require a const_gimple_transaction
rather than a plain const_gimple.
(gimple_transaction_subcode): Likewise.
* gimple-low.c (lower_stmt): Add checked cast to
gimple_transaction within GIMPLE_TRANSACTION case of switch
statement.
* gimple-pretty-print.c (dump_gimple_transaction): Require a
gimple_transaction rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_transaction within
GIMPLE_TRANSACTION case of switch statement.
* gimple-streamer-in.c (input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_gimple_stmt): Likewise.
* gimple-walk.c (walk_gimple_op): Likewise.
(walk_gimple_stmt): Likewise.
* gimple.c (gimple_build_transaction): Return a gimple_transaction
rather than a plain gimple.
(gimple_copy): Add checked casts to gimple_transaction within
GIMPLE_TRANSACTION case of switch statement.
* gimplify.c (gimplify_transaction): Split local "g" into
"body_stmt" and "trans_stmt", strengthening the type of the latter
from gimple to gimple_transaction.
* omp-low.c (lower_omp_1): Add checked cast to gimple_transaction
within GIMPLE_TRANSACTION case of switch statement.
* trans-mem.c (diagnose_tm_1): Add checked cast within
GIMPLE_TRANSACTION case of switch statement, introducing a new
local "trans_stmt". Use it in place of "stmt".
(examine_call_tm): Convert local from gimple to gimple_transaction.
(tm_region::get_transaction_stmt): New method.
(tm_region::transaction_stmt): Add clarification of type to the
comment.
(tm_region_init_0): Require a gimple_transaction rather than a
plain gimple.
(tm_region_init): Convert a check against GIMPLE_TRANSACTION to a
dyn_cast<gimple_transaction> and new local.
(transaction_subcode_ior): Add a new local, using the new
get_transaction_stmt method to perform a checked cast.
(propagate_tm_flags_out): Likewise.
(expand_transaction): Add a checked cast using the new
get_transaction_stmt method.
(generate_tm_state): Likewise.
(execute_tm_mark): Likewise.
(ipa_tm_diagnose_transaction): Likewise.
* tree-cfg.c (verify_gimple_transaction): Require a
gimple_transaction rather than a plain gimple.
(make_edges): Add checked cast within GIMPLE_TRANSACTION case of
switch statement
(cleanup_dead_labels): Likewise.
(verify_gimple_stmt): Likewise.
(verify_gimple_in_seq_2): Likewise.
(verify_gimple_in_seq_2): Likewise.
(gimple_redirect_edge_and_branch): Add checked cast.
* tree-inline.c (remap_gimple_stmt): Add checked cast within
GIMPLE_TRANSACTION case of switch statement, introducing a new
local "old_trans_stmt". Use it in place of "stmt". Add new
local "new_trans_stmt", using it to initialize "copy", and for
type-safe operations as a transaction.
(estimate_num_insns): Add checked cast within GIMPLE_TRANSACTION
case of switch statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_asm
* coretypes.h (gimple_asm): New typedef.
(const_gimple_asm): New typedef.
* gimple.h (gimple_build_asm_vec): Return a gimple_asm rather than
just a gimple.
(gimple_asm_clobbers_memory_p): Require a const_gimple_asm rather
than just a const_gimple.
(gimple_asm_ninputs): Likewise.
(gimple_asm_noutputs): Likewise.
(gimple_asm_nclobbers): Likewise.
(gimple_asm_nlabels): Likewise.
(gimple_asm_input_op): Likewise.
(gimple_asm_input_op_ptr): Likewise.
(gimple_asm_output_op): Likewise.
(gimple_asm_output_op_ptr): Likewise.
(gimple_asm_clobber_op): Likewise.
(gimple_asm_label_op): Likewise.
(gimple_asm_string): Likewise.
(gimple_asm_volatile_p): Likewise.
(gimple_asm_input_p): Likewise.
(gimple_asm_set_input_op): Require a gimple_asm rather than a plain
gimple.
(gimple_asm_set_output_op): Likewise.
(gimple_asm_set_clobber_op): Likewise.
(gimple_asm_set_label_op): Likewise.
(gimple_asm_set_volatile): Likewise.
(gimple_asm_set_input): Likewise.
* cfgexpand.c (expand_asm_stmt): Require a gimple_asm rather than
a plain gimple.
(expand_gimple_stmt_1): Add checked cast to gimple_asm within
GIMPLE_ASM case of switch statement.
* gimple-fold.c (fold_stmt_1): Add new local from checked cast to
gimple_asm within case GIMPLE_ASM.
* gimple-pretty-print.c (dump_gimple_asm): Require a gimple_asm
rather than a plain gimple.
(pp_gimple_stmt_1): Add checked cast to gimple_asm within
GIMPLE_ASM case of switch statement.
* gimple-streamer-in.c (input_gimple_stmt): Rework existing
checked cast to gimple_asm; add a new one.
* gimple-streamer-out.c (output_gimple_stmt): Add new local from
checked cast to gimple_asm within case GIMPLE_ASM.
* gimple-walk.c (walk_gimple_asm): Require a gimple_asm rather
than a plain gimple.
(walk_gimple_op): Add checked cast to gimple_asm within GIMPLE_ASM
case of switch statement.
(walk_stmt_load_store_addr_ops): Use dyn_cast<gimple_asm> in place
of a code check against GIMPLE_ASM to introduce a new gimple_asm
local.
* gimple.c (gimple_build_asm_1): Return a gimple_asm rather than
a plain gimple.
(gimple_build_asm_vec): Likewise.
(gimple_has_side_effects): Add a checked cast to gimple_asm.
(gimple_could_trap_p_1): Likewise.
(gimple_call_builtin_p): Require a const_gimple_asm rather then
a const_gimple.
* gimplify-me.c (gimple_regimplify_operands): Add a checked cast
and a new local of type gimple_asm within GIMPLE_ASM case.
* gimplify.c (gimplify_asm_expr): Convert a local from gimple to
gimple_asm.
* ipa-pure-const.c (check_stmt): Add checked casts within
GIMPLE_ASM case.
* ssa-iterators.h (op_iter_init): Likewise.
* tree-cfg.c (make_goto_expr_edges): Convert a local from gimple
to gimple_asm.
(cleanup_dead_labels): Add a checked cast and a new local of type
gimple_asm within GIMPLE_ASM case.
(gimple_redirect_edge_and_branch): Likewise.
(is_ctrl_altering_stmt): Add a checked cast.
(need_fake_edge_p): Replace a code check against GIMPLE_ASM with a
dyn_cast<gimple_asm>.
* tree-complex.c (expand_complex_comparison): Convert a local from
gimple to gimple_asm.
* tree-data-ref.c (get_references_in_stmt): Add a checked cast to
gimple_asm.
* tree-eh.c (stmt_could_throw_p): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
* tree-sra.c (scan_function): Add a checked cast and a new local
of type gimple_asm within GIMPLE_ASM case.
(sra_modify_function_body): Likewise.
(ipa_sra_modify_function_body): Likewise.
* tree-ssa-coalesce.c (create_outofssa_var_map): Likewise.
* tree-ssa-dce.c (propagate_necessity): Replace a code check
against GIMPLE_ASM with a dyn_cast<gimple_asm>.
* tree-ssa-operands.c (maybe_add_call_vops): Require a gimple_asm
rather than a plain gimple.
(parse_ssa_operands): Add a checked cast to gimple_asm.
* tree-ssa-structalias.c (find_func_aliases): Replace a check for
GIMPLE_ASM with a dyn_cast<gimple_asm>, introducing a new local
"asm_stmt", using it in place of "t" for typesafety.
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Add a checked
cast to gimple_asm.
* tree-ssa.c (execute_update_addresses_taken): Add checked casts
and new locals of type gimple_asm within clauses guarded by code
check.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_goto
* coretypes.h (gimple_goto): New typedef.
(const_gimple_goto): New typedef.
* gimple.h (gimple_statement_goto): New subclass of
gimple_statement_with_ops, adding the invariant that
stmt->code == GIMPLE_GOTO.
(is_a_helper <gimple_statement_goto>::test): New.
(gimple_build_goto): Return a gimple_goto rather than a
plain gimple.
* gimple-pretty-print.c (dump_gimple_goto): Require a gimple_goto
rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_goto within
GIMPLE_GOTO case of switch statement.
* gimple.c (gimple_build_goto): Return a gimple_goto rather than a
plain gimple.
* tree-cfg.c (verify_gimple_goto): Require a gimple_goto rather
than a plain gimple.
(verify_gimple_stmt): Add a checked cast to gimple_goto within
GIMPLE_GOTO case of switch statement.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_return
* coretypes.h (gimple_return): New typedef.
(const_gimple_return): New typedef.
* gimple.h (gimple_statement_return): New subclass of
gimple_statement_with_memory_ops, adding the invariant that
stmt->code == GIMPLE_RETURN.
(is_a_helper <gimple_statement_return>::test): New.
(gimple_build_return): Return a gimple_return rather
than a plain gimple.
* gimple.c (gimple_build_return): Return a gimple_return rather
than a plain gimple.
* cgraphunit.c (expand_thunk): Convert local from a gimple to
a gimple_return.
* gimple-low.c (struct return_statements_t): Convert field "stmt"
from a gimple to a gimple_return.
(lower_gimple_return): Convert local from a gimple to a
gimple_return.
* gimple-pretty-print.c (dump_gimple_return): Require a
gimple_return rather than a plain gimple.
(pp_gimple_stmt_1): Add a checked cast to gimple_return within
case GIMPLE_RETURN of switch statement.
* gimplify.c (gimplify_return_expr): Convert locals from
gimple to gimple_return.
* ipa-split.c (split_function): Likewise.
* tree-cfg.c (verify_gimple_assign): Require a gimple_return
rather than a plain gimple.
(verify_gimple_stmt): Add checked cast to gimple_return within
case GIMPLE_RETURN of switch statement.
* tree-tailcall.c (adjust_return_value): Convert local from
gimple to gimple_return.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_call
* coretypes.h (gimple_call): New typedef.
(const_gimple_call): New typedef.
* asan.c (get_mem_refs_of_builtin_call): Require a
const_gimple_call rather than a const gimple.
(has_stmt_been_instrumented_p): Add a checked cast to
gimple_call.
(instrument_strlen_call): Likewise.
(instrument_builtin_call): Likewise.
* builtins.c (validate_gimple_arglist): Require a
const_gimple_call rather than a const gimple.
(fold_call_stmt): Require a gimple_call rather than a gimple.
* builtins.h (validate_gimple_arglist): Require a
const_gimple_call rather than a const gimple.
(fold_call_stmt): Require a gimple_call rather than a gimple.
* cfgexpand.c (expand_call_stmt): Likewise.
(expand_gimple_stmt_1): Add a checked cast to gimple_call within
GIMPLE_CALL case.
* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Strengthen
local "new_stmt" from gimple to gimple_call, adding a checked
cast.
* cgraphunit.c (cgraph_node::expand_thunk): Likewise for local
"call".
* gimple-fold.c (gimple_fold_builtin_snprintf_chk): Likewise for
local "stmt".
(gimple_fold_builtin_snprintf): Likewise.
(gimple_fold_builtin): Likewise.
(gimple_fold_call): Likewise.
(gimple_fold_stmt_to_constant_1): Introduce local "call_stmt" via
checked cast of "stmt" to gimple_call, using it in various places
for typesafety.
* gimple-pretty-print.c (dump_gimple_call_args): Strengthen param
2 from gimple to gimple_call.
(dump_gimple_call): Likewise.
(pp_gimple_stmt_1): Add a checked cast to gimple_call within
GIMPLE_CALL case.
* gimple-streamer-in.c (input_gimple_stmt): Replace is_gimple_call
with a dyn_cast<gimple_call>, introducing local "call_stmt", and
using it in place of "stmt" for typesafety. Add a checked cast
in statement guarded by check for GIMPLE_CALL.
* gimple-walk.c (walk_gimple_op): Add a checked cast to
gimple_call.
* gimple.c (gimple_call_reset_alias_info): Strengthen param from
gimple to gimple_call.
(gimple_build_call_1): Strengthen return type and local from
gimple to gimple_call.
(gimple_build_call_vec): Likewise.
(gimple_build_call): Likewise.
(gimple_build_call_valist): Likewise.
(gimple_build_call_internal_1): Likewise.
(gimple_build_call_internal): Likewise.
(gimple_build_call_internal_vec): Likewise.
(gimple_build_call_from_tree): Likewise.
(gimple_call_return_flags): Strengthen param from
const_gimple to const_gimple_call.
(gimple_call_copy_skip_args): Strengthen return type and local from
gimple to gimple_call.
* gimple.h (gimple_call_reset_alias_info): Strengthen param from
gimple to gimple_call.
(gimple_build_call_vec): Strengthen return type from gimple to
gimple_call.
(gimple_build_call): Likewise.
(gimple_build_call_valist): Likewise.
(gimple_build_call_internal): Likewise.
(gimple_build_call_internal_vec): Likewise.
(gimple_build_call_from_tree): Likewise.
(gimple_call_return_flags): Strengthen param from const_gimple to
const_gimple_call.
(gimple_call_copy_skip_args): Strengthen return type from gimple
to gimple_call.
(gimple_call_set_internal_fn): Strengthen param "call_stmt" from
gimple to gimple_call.
(gimple_call_return_type): Strengthen param from const_gimple to
const_gimple_call.
(gimple_call_chain_ptr): Likewise.
(gimple_call_set_chain): Strengthen param from gimple to
gimple_call.
(gimple_call_set_return_slot_opt): Likewise.
(gimple_call_set_from_thunk): Likewise.
(gimple_call_from_thunk_p): Likewise.
(gimple_call_set_va_arg_pack): Likewise.
(gimple_call_va_arg_pack_p): Likewise.
(gimple_call_set_alloca_for_var): Likewise.
(gimple_call_alloca_for_var_p): Likewise.
(gimple_expr_type): Introduce local "call_stmt" via a checked cast
and use it for typesafety.
* gimplify.c (gimplify_call_expr): Strengthen local "call" from
gimple to gimple_call.
(gimplify_modify_expr_to_memcpy): Likewise for local "gs".
(gimplify_modify_expr_to_memset): Likewise.
(gimplify_modify_expr): Add a checked cast to gimple_call.
(gimplify_expr): Strengthen local "call" from gimple to
gimple_call.
(gimplify_function_tree): Likewise.
* internal-fn.c (expand_LOAD_LANES): Strengthen param from gimple
to gimple_call.
(expand_STORE_LANES): Likewise.
(expand_ANNOTATE): Likewise.
(expand_GOMP_SIMD_LANE): Likewise.
(expand_GOMP_SIMD_VF): Likewise.
(expand_GOMP_SIMD_LAST_LANE): Likewise.
(expand_UBSAN_NULL): Likewise.
(expand_UBSAN_BOUNDS): Likewise.
(expand_UBSAN_OBJECT_SIZE): Likewise.
(expand_ASAN_CHECK): Likewise.
(ubsan_expand_si_overflow_addsub_check): Likewise.
(ubsan_expand_si_overflow_neg_check): Likewise.
(ubsan_expand_si_overflow_mul_check): Likewise.
(expand_UBSAN_CHECK_ADD): Likewise.
(expand_UBSAN_CHECK_SUB): Likewise.
(expand_UBSAN_CHECK_MUL): Likewise.
(expand_LOOP_VECTORIZED): Likewise.
(expand_MASK_LOAD): Likewise.
(expand_MASK_STORE): Likewise.
(expand_ABNORMAL_DISPATCHER): Likewise.
(expand_BUILTIN_EXPECT): Likewise.
(internal_fn_expanders): Likewise for entries in this table.
(expand_internal_call): Likewise.
* internal-fn.def: Update comment to reflect strengthening of
param of expanders.
* internal-fn.h (expand_internal_call): Strengthen param from
gimple to gimple_call.
* ipa-prop.c (ipa_modify_call_arguments): Likewise for local
"new_stmt".
* ipa-pure-const.c (check_call): Likewise for param "call".
(check_stmt): Add a checked cast to gimple_call within GIMPLE_CALL
case.
* ipa-split.c (split_function): Strengthen local "call" from
gimple to gimple_call.
* omp-low.c (build_omp_barrier): Likewise for local "g".
(lower_rec_input_clauses): Likewise for local "stmt".
* trans-mem.c (build_tm_load): Likewise for return type and local
"gcall".
(build_tm_store): Likewise.
(expand_transaction): Likewise for local "call".
* tree-call-cdce.c (check_pow): Likewise for param.
(check_builtin_call): Likewise.
(is_call_dce_candidate): Likewise.
(gen_conditions_for_pow): Likewise.
(gen_shrink_wrap_conditions): Likewise.
(shrink_wrap_one_built_in_call): Likewise.
(shrink_wrap_conditional_dead_built_in_calls): Strengthen param
from vec<gimple> to vec<gimple_call>, and local "bi_call" from
gimple to gimple_call.
(pass_call_cdce::execute): Strengthen local
"cond_dead_built_in_calls" from auto_vec<gimple> to
auto_vec<gimple_call> and local "stmt" from gimple to gimple_call,
* tree-cfg.c (notice_special_calls): Strengthen param from gimple
to gimple_call.
* tree-cfg.h (notice_special_calls): Likewise.
* tree-complex.c (expand_complex_libcall): Likewise for local
"stmt".
* tree-inline.c (remap_gimple_stmt): Add checked cast to
gimple_call.
(copy_bb): Likewise. Strengthen local "new_call" from gimple to
gimple_call.
(inline_forbidden_p_stmt): Add checked cast to gimple_call.
* tree-nested.c (init_tmp_var_with_call): Strengthen param "call"
from gimple to gimple_call.
(convert_nl_goto_reference): Likewise for local "call".
(convert_tramp_reference_op): Likewise.
(convert_gimple_call): Add checked cast to gimple_call.
* tree-nrv.c (dest_safe_for_nrv_p): Strengthen param "call" from
gimple to gimple_call.
(pass_return_slot::execute): Likewise for local "stmt", using a
dyn_cast<gimple_call> rather than an is_gimple_call call.
* tree-object-size.c (alloc_object_size): Strengthen param "call"
from const_gimple to const_gimple_call.
(pass_through_call): Likewise.
(call_object_size): Strengthen param "call" from gimple to
gimple_call.
(collect_object_sizes_for): Introduce local "call_stmt" via a
checked cast, using it for typesafety.
(check_for_plus_in_loops_1): Likewise.
(pass_object_sizes::execute): Add a checked cast to gimple_call.
* tree-profile.c (gimple_gen_interval_profiler): Strengthen local
"call" from gimple to gimple_call.
(gimple_gen_pow2_profiler): Likewise.
(gimple_gen_one_value_profiler): Likewise.
(gimple_gen_time_profiler): Likewise.
(gimple_gen_average_profiler): Likewise.
(gimple_gen_ior_profiler): Likewise.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise for
param "call".
(ref_maybe_used_by_call_p): Likewise.
(ref_maybe_used_by_stmt_p): Add a checked cast to gimple_call.
(call_may_clobber_ref_p_1): Strengthen param "call" from gimple to
gimple_call.
(call_may_clobber_ref_p): Likewise.
(stmt_may_clobber_ref_p_1): Add a checked cast to gimple_call.
* tree-ssa-alias.h (call_may_clobber_ref_p): Strengthen param 1
from gimple to gimple_call.
(call_may_clobber_ref_p_1): Likewise.
* tree-ssa-dce.c (eliminate_unnecessary_stmts): Add a checked cast
to gimple_call.
* tree-ssa-loop-prefetch.c (emit_mfence_after_loop): Strengthen
local "call" from gimple to gimple_call.
* tree-ssa-math-opts.c (build_and_insert_call): Likewise for local
"call_stmt".
* tree-ssa-operands.c (maybe_add_call_vops): Likewise for param
"stmt".
(parse_ssa_operands): Add a checked cast to gimple_call within
GIMPLE_CALL case.
* tree-ssa-pre.c (compute_avail): Add a checked cast to
gimple_call.
* tree-ssa-sccvn.c (copy_reference_ops_from_call): Strengthen
param "call" from gimple to gimple_call.
(valueize_shared_reference_ops_from_call): Likewise.
(vn_reference_lookup_3): Add a checked cast to gimple_call.
(vn_reference_lookup_call): Strengthen param "call" from gimple to
gimple_call.
(visit_reference_op_call): Likewise for param "stmt".
(visit_use): Replace is_gimple_call with a dyn_cast, introducing
local "call_stmt", using it in place of "stmt" for type-safety.
* tree-ssa-sccvn.h (vn_reference_lookup_call): Strengthen param 1
from gimple to gimple_call.
* tree-ssa-structalias.c (get_call_vi): Likewise.
(lookup_call_use_vi): Likewise.
(lookup_call_clobber_vi): Likewise.
(get_call_use_vi): Likewise.
(get_call_clobber_vi): Likewise.
(handle_rhs_call): Likewise.
(handle_lhs_call): Likewise.
(handle_const_call): Likewise.
(handle_pure_call): Likewise.
(get_fi_for_callee): Likewise.
(find_func_aliases_for_builtin_call): Likewise for param 2.
(find_func_aliases_for_call): Likewise.
(find_func_aliases): Add a checked cast to gimple_call.
(find_func_clobbers): Replace is_gimple_call with a dyn_cast,
introducing local "call_stmt", using it in place of "stmt" for
type-safety.
(compute_points_to_sets): Strengthen local "stmt" from gimple to
gimple_call, replacing is_gimple_call with a
dyn_cast <gimple_call>.
(ipa_pta_execute): Likewise.
* tree-ssa-threadedge.c
(record_temporary_equivalences_from_stmts_at_dest): Add checked
cast to gimple_call.
* tree-tailcall.c (find_tail_calls): Strengthen local "call" from
gimple to gimple_call, adding a checked cast.
* tree-vect-data-refs.c (vect_setup_realignment): Eliminate
top-level local "new_stmt" in favor of more tightly-scoped locals
"new_stmt" of type gimple_assign and gimple_call.
* tree-vect-patterns.c (vect_recog_pow_pattern): Strenghthen local
"stmt" from gimple to gimple_call.
* tree-vect-stmts.c (vectorizable_function): Likewise for param
"call".
(vectorizable_call): Rename param 1 from "stmt" to "gs",
reintroducing "stmt" as a gimple_call once we've established that
we're working with a GIMPLE_CALL.
* tree-vectorizer.h (vectorizable_function): Strengthen param 1
from gimple to gimple_call.
* value-prof.c (check_ic_target): Likewise.
(gimple_ic_transform): Likewise for local "stmt", replacing a
check for GIMPLE_CALL with a dyn_cast.
(interesting_stringop_to_profile_p): Strengthen param "call"
from gimple to gimple_call.
(gimple_stringop_fixed_value): Likewise for param "vcall_stmt".
(gimple_stringops_transform): Likewise for local "stmt",
replacing a check for GIMPLE_CALL with a dyn_cast.
(gimple_stringops_values_to_profile): Rename param 1 from "stmt"
to "gs", reintroducing "stmt" as a gimple_call once we've
established that we're working with a GIMPLE_CALL.
* vtable-verify.c (verify_bb_vtables): Strengthen local
"call_stmt" from gimple to gimple_call.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Concretize get_loop_exit_condition et al to working on gimple_cond
* tree-scalar-evolution.h (get_loop_exit_condition): Return a
gimple_cond.
* tree-scalar-evolution.c (get_loop_exit_condition): Likewise, also
concretizing local "res" from gimple to gimple_cond.
* tree-vect-loop-manip.c (slpeel_make_loop_iterate_ntimes): Convert
locals from gimple to gimple_cond.
(slpeel_can_duplicate_loop_p): Likewise.
* tree-vect-loop.c (vect_get_loop_niters): Return a gimple_cond.
(vect_analyze_loop_form): Convert local from gimple to gimple_cond.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Update various expressions within tree-scalar-evolution.c to be gimple_phi
* tree-scalar-evolution.c (follow_ssa_edge): Require a gimple_phi,
rather than a gimple.
(follow_ssa_edge_binary): Likewise.
(follow_ssa_edge_expr): Likewise.
(follow_ssa_edge_in_rhs): Likewise.
(backedge_phi_arg_p): Likewise.
(follow_ssa_edge_in_condition_phi_branch): Likewise.
(follow_ssa_edge_in_condition_phi): Likewise.
(follow_ssa_edge_inner_loop_phi): Likewise.
(analyze_evolution_in_loop): Likewise.
(analyze_initial_condition): Likewise.
(interpret_loop_phi): Likewise.
(interpret_condition_phi): Likewise.
(follow_ssa_edge): Likewise; also, add checked casts to gimple_phi.
(analyze_scalar_evolution_1): Add checked casts to gimple_phi
within "case GIMPLE_PHI".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-ssa-loop-ivopts.c: use gimple_phi in a few places
* tree-ssa-loop-ivopts.c (determine_biv_step): Require a gimple_phi.
(find_bivs): Convert local "phi" into a gimple_phi.
(mark_bivs): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-ssa-loop-manip.c: use gimple_phi in three places
* tree-ssa-loop-manip.c (add_exit_phi): Convert local "phi" to be a
gimple_phi.
(split_loop_exit_edge): Likewise for "phi" and "new_phi".
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-ssa-loop-niter.c: use gimple_phi in a few places
* tree-ssa-loop-niter.c (chain_of_csts_start): Return a gimple_phi
rather than a gimple.
(get_base_for): Likewise; convert local "phi" to be a gimple_phi.
(loop_niter_by_eval): Convert local "phi" to be a gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-ssa-phiprop.c: use gimple_phi
* tree-ssa-phiprop.c (phiprop_insert_phi): Strengthen types of
parameter "phi" and local "new_phi" from gimple to gimple_phi.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-predcom.c: use gimple_phi in various places
* tree-predcom.c (find_looparound_phi): Return a gimple_phi rather
than just a gimple.
(insert_looparound_copy): Require a gimple_phi rather than just a
gimple.
(add_looparound_copies): Convert local "phi" to be a gimple_phi.
(initialize_root_vars): Likewise.
(initialize_root_vars_lm): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
tree-parloops.c: use gimple_phi in various places
* tree-parloops.c (struct reduction_info): Strengthen field "new_phi"
from gimple to gimple_phi.
(create_phi_for_local_result): Convert local "new_phi" to gimple_phi.
(loop_has_vector_phi_nodes): Require a gimple_phi rather than a gimple.
(gather_scalar_reductions): Convert to a gimple_phi_iterator and
gimple_phi.
(try_create_reduction_list): Likewise.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Update ssa_prop_visit_phi_fn callbacks to take a gimple_phi
* tree-ssa-propagate.h (typedef ssa_prop_visit_phi_fn): Strengthen
type of parameter from gimple to gimple_phi.
* tree-complex.c (complex_visit_phi): Update signature of callback
implementation accordingly.
* tree-ssa-ccp.c (ccp_visit_phi_node): Likewise.
* tree-ssa-copy.c (copy_prop_visit_phi_node): Likewise.
* tree-vrp.c (vrp_visit_phi_node): Likewise.
* tree-ssa-propagate.c (simulate_stmt): Add a checked cast to
gimple_phi when invoking the ssa_prop_visit_phi callback.
2014-10-24 David Malcolm <dmalcolm@redhat.com>
Introduce gimple_phi_iterator
* gimple-iterator.h (struct gimple_phi_iterator): New subclass of
gimple_stmt_iterator with identical layout, but adding...
(gimple_phi_iterator::phi): ...new method, equivalent to
gsi_stmt (), but casting the underlying gimple to gimple_phi,
checking that code == GIMPLE_PHI in a checked build.
(gsi_start_phis): Return a gimple_phi_iterator, rather than just a
gimple_stmt_iterator.
* tree-if-conv.c (bb_with_exit_edge_p): Require a gimple_phi rather
than just a gimple.
(if_convertible_phi_p): Likewise.
* tree-phinodes.h (add_phi_node_to_bb): Likewise.
* tree-ssa-phiprop.c (propagate_with_phi): Likewise.
* tree-ssa-uninit.c (warn_uninitialized_phi): Require a gimple_phi
and a vec<gimple_phi> *, rather than just a gimple and
vec<gimple> *, and a hash_set<gimple_phi> * rather than a
hash_set<gimple> *.
(find_uninit_use): Likewise; add checked cast to gimple_phi when
adding to worklist.
(pass_late_warn_uninitialized::execute): Strengthen types of
various locals, "worklist" from vec<gimple> to vec<gimple_phi>,
"gsi" to a gimple_phi_iterator, "phi" and "cur_phi" to a
gimple_phi, "added_to_worklist" from hash_set<gimple> to
hash_set<gimple_phi>.