mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-28 21:49:33 +00:00
4736 lines
179 KiB
Plaintext
4736 lines
179 KiB
Plaintext
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>.
|
|
|
|
* tree-ssa-loop-manip.c (rewrite_phi_with_iv): Require a
|
|
gimple_phi_iterator * rather than a gimple_stmt_iterator *;
|
|
use it to strengthen local from a gimple to a gimple_phi.
|
|
|
|
* cfgloop.c (find_subloop_latch_edge_by_ivs): Convert local from a
|
|
gimple_stmt_iterator to a gimple_phi_iterator. Use the iterator's
|
|
"phi" method rather than gsi_stmt. Use this checked cast to convert
|
|
the type of related local from a plain gimple to a gimple_phi.
|
|
* gimple-pretty-print.c (dump_phi_nodes): Likewise.
|
|
* gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
|
|
Likewise.
|
|
* sese.c (sese_add_exit_phis_edge): Likewise.
|
|
* tree-cfg.c (reinstall_phi_args): Likewise.
|
|
(gimple_make_forwarder_block): Likewise.
|
|
(add_phi_args_after_copy_edge): Likewise.
|
|
(gimple_lv_adjust_loop_header_phi): Likewise.
|
|
* tree-cfgcleanup.c (phi_alternatives_equal): Likewise.
|
|
(remove_forwarder_block_with_phi): Likewise.
|
|
(merge_phi_nodes): Likewise.
|
|
* tree-complex.c (update_phi_components): Likewise.
|
|
* tree-if-conv.c (if_convertible_loop_p_1): Likewise.
|
|
* tree-inline.c (update_ssa_across_abnormal_edges): Likewise.
|
|
(copy_phis_for_bb): Likewise.
|
|
* tree-into-ssa.c (rewrite_add_phi_arguments): Likewise.
|
|
* tree-outof-ssa.c (eliminate_build): Likewise.
|
|
(eliminate_useless_phis): Likewise.
|
|
(rewrite_trees): Likewise.
|
|
(insert_backedge_copies): Likewise.
|
|
* tree-phinodes.c (reserve_phi_args_for_new_edge): Likewise.
|
|
(remove_phi_args): Likewise.
|
|
(remove_phi_nodes): Likewise.
|
|
* tree-predcom.c (find_looparound_phi): Likewise.
|
|
(eliminate_temp_copies): Likewise.
|
|
* tree-scalar-evolution.c (loop_closed_phi_def): Likewise.
|
|
(scev_const_prop): Likewise; also, add checked cast to phi.
|
|
* tree-ssa-coalesce.c (coalesce_partitions): Likewise.
|
|
* tree-ssa-dce.c (remove_dead_phis): Likewise.
|
|
(forward_edge_to_pdom): Likewise.
|
|
* tree-ssa-dom.c (record_equivalences_from_phis): Likewise.
|
|
(cprop_into_successor_phis): Likewise.
|
|
(propagate_rhs_into_lhs): Likewise.
|
|
(eliminate_degenerate_phis_1): Likewise.
|
|
* tree-ssa-ifcombine.c (same_phi_args_p): Likewise.
|
|
* tree-ssa-live.c (calculate_live_on_exit): Likewise.
|
|
(verify_live_on_entry): Likewise.
|
|
* tree-ssa-loop-im.c
|
|
(move_computations_dom_walker::before_dom_children): Likewise.
|
|
* tree-ssa-loop-ivopts.c (find_bivs): Likewise.
|
|
(mark_bivs): Likewise.
|
|
(find_interesting_uses_outside): Likewise.
|
|
(determine_set_costs): Likewise.
|
|
* tree-ssa-loop-manip.c (split_loop_exit_edge): Likewise.
|
|
(tree_transform_and_unroll_loop): Likewise.
|
|
(rewrite_all_phi_nodes_with_iv): Likewise.
|
|
(canonicalize_loop_ivs): Likewise.
|
|
* tree-ssa-loop-niter.c (determine_value_range): Likewise.
|
|
* tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
|
|
* tree-ssa-phiprop.c (tree_ssa_phiprop): Likewise.
|
|
* tree-ssa-reassoc.c (suitable_cond_bb): Likewise.
|
|
* tree-ssa-tail-merge.c (same_phi_alternatives_1): Likewise.
|
|
(vop_phi): Likewise.
|
|
* tree-ssa-threadedge.c (record_temporary_equivalences_from_phis):
|
|
Likewise.
|
|
* tree-ssa-threadupdate.c (copy_phi_arg_into_existing_phi): Likewise.
|
|
(copy_phi_args): Likewise.
|
|
(phi_args_equal_on_edges): Likewise.
|
|
* tree-ssa.c (ssa_redirect_edge): Likewise.
|
|
(flush_pending_stmts): Likewise.
|
|
* tree-switch-conversion.c (check_final_bb): Likewise.
|
|
(gather_default_values): Likewise.
|
|
(build_constructors): Likewise.
|
|
(fix_phi_nodes): Likewise.
|
|
* tree-tailcall.c (propagate_through_phis): Likewise.
|
|
(add_successor_phi_arg): Likewise.
|
|
* tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1):
|
|
Likewise.
|
|
(slpeel_update_phi_nodes_for_guard2): Likewise.
|
|
(slpeel_tree_peel_loop_to_edge): Likewise.
|
|
(vect_can_advance_ivs_p): Likewise.
|
|
(vect_update_ivs_after_vectorizer): Likewise.
|
|
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise.
|
|
* tree-vrp.c (find_assert_locations): Likewise.
|
|
* value-prof.c (gimple_ic): Likewise.
|
|
|
|
* omp-low.c (expand_parallel_call): Convert local to a gimple_phi.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_phi and use it in various places
|
|
|
|
* coretypes.h (gimple_phi): New typedef.
|
|
(const_gimple_phi): New typedef.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_phi and its
|
|
variants, using the gimple printer.
|
|
|
|
* gimple.h (gimple_vec): Eliminate thie typedef in the hope of using
|
|
vecs of more concrete gimple subclasses as appropriate; also the
|
|
comment is about to become misleading.
|
|
|
|
* gimple.h (gimple_phi_capacity): Use const_gimple_phi typedef
|
|
rather than spelling out the full type.
|
|
(gimple_phi_num_args): Likewise.
|
|
(gimple_phi_result): Likewise.
|
|
(gimple_phi_result_ptr): Use gimple_phi typedef.
|
|
(gimple_phi_set_result): Likewise.
|
|
(gimple_phi_arg): Likewise.
|
|
(gimple_phi_set_arg): Likewise.
|
|
* tree-phinodes.c (allocate_phi_node): Likewise.
|
|
(resize_phi_node): Likewise.
|
|
(reserve_phi_args_for_new_edge): Likewise.
|
|
(remove_phi_arg_num): Likewise.
|
|
|
|
* gimple-pretty-print.c (dump_gimple_phi): Require a gimple_phi
|
|
rather than just a gimple.
|
|
* tree-into-ssa.c (mark_phi_for_rewrite): Likewise.
|
|
|
|
* tree-phinodes.c (make_phi_node): Return a gimple_phi rather than
|
|
just a gimple.
|
|
(create_phi_node): Likewise.
|
|
* tree-phinodes.h (create_phi_node): Likewise.
|
|
|
|
* trans-mem.c (struct struct tm_log_entry): Replace use of
|
|
now-removed gimple_vec with a plain vec<gimple>.
|
|
|
|
* tree-into-ssa.c (phis_to_rewrite): Strengthen from a
|
|
vec<gimple_vec> to a vec< vec<gimple_phi> >.
|
|
|
|
* tree-into-ssa.c (insert_phi_nodes_for): Update local to be a
|
|
gimple_phi.
|
|
* tree-into-ssa.c (rewrite_update_phi_arguments): Strengthen local
|
|
"phis" from a gimple_vec to a vec<gimple_phi>, and local "phi" to
|
|
a gimple_phi.
|
|
* tree-into-ssa.c (delete_update_ssa): Strengthen local
|
|
"phis" from a gimple_vec to a vec<gimple_phi>.
|
|
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
|
|
gimple_phi in regions where a stmt is known to have code
|
|
GIMPLE_PHI.
|
|
* tree-into-ssa.c (mark_use_interesting): Likewise.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_debug and use it in a few places
|
|
|
|
* coretypes.h (gimple_debug): New typedef.
|
|
(const_gimple_debug): New typedef.
|
|
|
|
* gimple.h (struct gimple_statement_debug): New subclass of
|
|
gimple_statement_with_ops, adding the invariant that
|
|
stmt->code == GIMPLE_DEBUG.
|
|
(is_a_helper <gimple_statement_debug>::test): New.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_debug and its
|
|
variants, using the gimple printer.
|
|
|
|
* gimple-pretty-print.c (dump_gimple_debug): Require a gimple_debug
|
|
rather than just a gimple.
|
|
* tree-inline.c (copy_debug_stmt): Likewise.
|
|
|
|
* tree-inline.h (struct copy_body_data): Strengthen field
|
|
"debug_stmts" from a vec<gimple> to a vec<gimple_debug>.
|
|
|
|
* gimple.c (gimple_build_debug_bind_stat): Return a gimple_debug
|
|
rather than just a gimple.
|
|
(gimple_build_debug_source_bind_stat): Likewise.
|
|
* gimple.h (gimple_build_debug_bind_stat): Likewise.
|
|
(gimple_build_debug_source_bind_stat): Likewise.
|
|
|
|
* tree-inline.c (remap_gimple_stmt): Update locals to be a
|
|
gimple_debug.
|
|
(maybe_move_debug_stmts_to_successors): Likewise.
|
|
(copy_debug_stmts): Likewise.
|
|
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
|
|
gimple_debug in regions where a stmt is known to have code
|
|
GIMPLE_DEBUG.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_label and use it in a few places
|
|
|
|
* coretypes.h (gimple_label): New typedef.
|
|
(const_gimple_label): New typedef.
|
|
|
|
* gimple.h (struct gimple_statement_label): New subclass of
|
|
gimple_statement_with_ops, adding the invariant that
|
|
stmt->code == GIMPLE_LABEL.
|
|
(is_a_helper <gimple_statement_label>::test): New.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_label and its
|
|
variants, reusing the gimple printer.
|
|
|
|
* gimple-pretty-print.c (dump_gimple_label): Require a gimple_label
|
|
rather than just a gimple.
|
|
* tree-cfg.c (verify_gimple_label): Likewise.
|
|
|
|
* gimple.c (gimple_build_label): Return a gimple_label rather than
|
|
just a gimple.
|
|
* gimple.h (gimple_build_label): Likewise.
|
|
|
|
* gimplify.c (gimplify_case_label_expr): Update local to be a
|
|
gimple_label.
|
|
* tree-switch-conversion.c (gen_inbound_check): Likewise.
|
|
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Add checked cast to
|
|
gimple_label in regions where a stmt is known to have code
|
|
GIMPLE_LABEL.
|
|
* tree-cfg.c (verify_gimple_stmt): Likewise.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_assign and use it in various places
|
|
|
|
* coretypes.h (gimple_assign): New typedef.
|
|
(const_gimple_assign): New typedef.
|
|
|
|
* gimple.h (struct gimple_statement_assign): New subclass of
|
|
gimple_statement_with_memory_ops, adding the invariant that
|
|
stmt->code == GIMPLE_ASSIGN.
|
|
(is_a_helper <gimple_statement_assign>::test): New.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_assign and its
|
|
variants, using the gimple printer.
|
|
|
|
* gimple-builder.c (build_assign): Return a gimple_assign rather
|
|
than just a gimple from each of the overloaded variants.
|
|
(build_type_cast): Likewise.
|
|
* gimple-builder.h (build_assign): Likewise.
|
|
(build_type_cast): Likewise.
|
|
* gimple.c (gimple_build_assign_stat): Likewise.
|
|
(gimple_build_assign_with_ops): Likewise.
|
|
* gimple.h (gimple_build_assign_stat): Likewise.
|
|
(gimple_build_assign_with_ops): Likewise.
|
|
|
|
* asan.c (get_mem_ref_of_assignment): Require a const_gimple_assign
|
|
rather than just a "const gimple" (the latter is not a
|
|
"const_gimple").
|
|
* gimple-pretty-print.c (dump_unary_rhs): Require a gimple_assign
|
|
rather than just a gimple.
|
|
(dump_binary_rhs): Likewise.
|
|
(dump_ternary_rhs): Likewise.
|
|
* tree-cfg.c (verify_gimple_assign_unary): Likewise.
|
|
(verify_gimple_assign_binary): Likewise.
|
|
(verify_gimple_assign_ternary): Likewise.
|
|
(verify_gimple_assign_single): Likewise.
|
|
(verify_gimple_assign): Likewise.
|
|
* tree-ssa-sccvn.c (simplify_unary_expression): Likewise.
|
|
(try_to_simplify): Likewise.
|
|
* tree-tailcall.c (process_assignment): Likewise.
|
|
* tree-vect-generic.c (expand_vector_operation): Likewise.
|
|
* tree-vrp.c (extract_range_from_cond_expr): Likewise.
|
|
(extract_range_from_assignment): Likewise.
|
|
|
|
* asan.c (has_stmt_been_instrumented_p): Add checked cast to
|
|
gimple_assign in regions where a stmt is known to have code
|
|
GIMPLE_ASSIGN.
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
|
|
* tree-cfg.c (verify_gimple_stmt): Likewise.
|
|
* tree-ssa-sccvn.c (visit_use): Likewise.
|
|
* tree-tailcall.c (find_tail_calls): Likewise.
|
|
* tree-vrp.c (vrp_visit_assignment_or_call): Likewise.
|
|
|
|
* tree-vrp.c (simplify_stmt_for_jump_threading): Replace a check
|
|
against GIMPLE_ASSIGN with a dyn_cast<gimple_assign>, introducing
|
|
a gimple_assign local.
|
|
|
|
* tree-vect-generic.c (expand_vector_condition): Convert local to a
|
|
gimple_assign, adding a checked cast when extracting from gsi, since
|
|
this is only called when underlying stmt has code GIMPLE_ASSIGN.
|
|
(optimize_vector_constructor): Likewise.
|
|
(lower_vec_perm): Likewise.
|
|
(expand_vector_operations_1): Convert local to a gimple_assign,
|
|
introducing a dyn_cast.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_cond and use it in various places
|
|
|
|
* coretypes.h (gimple_cond): New typedef.
|
|
(const_gimple_cond): Likewise.
|
|
|
|
* gimple.h (struct gimple_statement_cond): New subclass of
|
|
gimple_statement_with_ops, adding the invariant that
|
|
stmt->code == GIMPLE_COND.
|
|
(is_a_helper <gimple_statement_cond>::test): New.
|
|
(gimple_build_cond): Return a gimple_cond, rather than just
|
|
a gimple.
|
|
(gimple_build_cond_from_tree): Likewise.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_cond and its
|
|
variants, using the gimple printer.
|
|
|
|
* cfgexpand.c (expand_gimple_cond): Require a gimple_cond rather
|
|
than just a gimple.
|
|
* gimple.h (gimple_cond_set_condition_from_tree): Likewise.
|
|
(gimple_cond_true_p): Likewise.
|
|
(gimple_cond_false_p): Likewise.
|
|
(gimple_cond_set_condition): Likewise.
|
|
* gimple.c (gimple_cond_set_condition_from_tree): Likewise.
|
|
* gimple-fold.c (fold_gimple_cond): Likewise.
|
|
* gimple-pretty-print.c (dump_gimple_cond): Likewise.
|
|
* tree-ssa-dom.c (canonicalize_comparison): Likewise.
|
|
* tree-ssa-forwprop.c (forward_propagate_into_gimple_cond): Likewise.
|
|
* tree-ssa-ifcombine.c (recognize_single_bit_test): Likewise.
|
|
(recognize_bits_test): Likewise.
|
|
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
|
|
(thread_around_empty_blocks): Likewise.
|
|
(thread_through_normal_block): Likewise.
|
|
(thread_across_edge): Likewise.
|
|
* tree-ssa-threadedge.h (thread_across_edge): Likewise.
|
|
* tree-vrp.c (range_fits_type_p): Likewise.
|
|
|
|
* cfgexpand.c (expand_gimple_basic_block): Add checked cast to
|
|
gimple_cond in regions where a stmt is known to have code GIMPLE_COND.
|
|
* gimple-fold.c (fold_stmt_1): Likewise.
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
|
|
* tree-ssa-dom.c (optimize_stmt): Likewise.
|
|
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
|
|
* tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
|
|
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
|
|
Likewise.
|
|
* tree-vrp.c (simplify_stmt_using_ranges): Likewise.
|
|
|
|
* cfgloopmanip.c (create_empty_loop_on_edge): Update local to be a
|
|
gimple_cond.
|
|
* tree-vrp.c (identify_jump_threads): Likewise.
|
|
|
|
* gimple.c (gimple_build_cond): Return a gimple_cond, rather than
|
|
just a gimple.
|
|
(gimple_build_cond_from_tree): Likewise.
|
|
|
|
* tree-ssa-dom.c (class dom_opt_dom_walker): Strengthen type of
|
|
field "m_dummy_cond" from a plain gimple to a gimple_cond.
|
|
|
|
* tree-ssa-ifcombine.c (ifcombine_ifandif): Introduce locals
|
|
inner_stmt and outer_stmt so that inner_cond and outer_cond can be
|
|
of type gimple_cond once we know that we have code == GIMPLE_COND.
|
|
* tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Introduce local
|
|
"last" so that stmt can be of type gimple_cond.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_bind and use it for accessors.
|
|
|
|
* coretypes.h (gimple_bind): New typedef.
|
|
(const_gimple_bind): New typedef.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_bind
|
|
and its variants, using the gimple printer.
|
|
|
|
* gimple-pretty-print.c (dump_gimple_bind): Update type-signature to
|
|
require a gimple_bind rather than just a gimple.
|
|
|
|
* gimple.c (gimple_build_bind): Return a gimple_bind rather than
|
|
just a gimple.
|
|
* gimple.h (gimple_build_bind): Likewise.
|
|
|
|
* gimple.h (gimple_seq_first_stmt_as_a_bind): New.
|
|
|
|
* gimple.h (gimple_bind_vars): Update type-signature to
|
|
require a gimple_bind rather than just a gimple, removing
|
|
as_a and hence run-time check.
|
|
(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_add_seq): Likewise.
|
|
(gimple_bind_block): Likewise.
|
|
(gimple_bind_set_block): Likewise.
|
|
* gimplify.c (gimple_push_bind_expr): Likewise.
|
|
(gimple_current_bind_expr): Likewise.
|
|
* tree-inline.c (copy_gimple_bind): Likewise.
|
|
|
|
* gimplify.h (gimple_current_bind_expr): Return a gimple_bind
|
|
rather than a plain gimple.
|
|
(gimplify_body): Likewise.
|
|
(gimple_bind_expr_stack): Return a vec<gimple_bind> rather than
|
|
a vec<gimple>.
|
|
|
|
* gimplify.c (struct gimplify_ctx): Strengthen field
|
|
"bind_expr_stack" from vec<gimple> to vec<gimple_bind>.
|
|
(gimple_bind_expr_stack): Likewise for type of returned value.
|
|
|
|
* gimplify.c (gimplify_body): Strengthen various types from gimple
|
|
to gimple_bind, including the return type.
|
|
|
|
* gimplify.c (declare_vars): Introduce "gs" as a generic gimple,
|
|
so that local "scope" can be of type gimple_bind once we've reached
|
|
the region where it must be of code GIMPLE_BIND.
|
|
|
|
* gimple-low.c (lower_gimple_bind): Add checked cast to
|
|
gimple_bind, since both callers (lower_function_body and
|
|
lower_stmt) have checked the code for us.
|
|
|
|
* gimple.c (gimple_copy): Add checked cast to gimple_bind in
|
|
region guarded by check for code GIMPLE_BIND.
|
|
* gimple-low.c (gimple_stmt_may_fallthru): Likewise.
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
|
|
* gimple-walk.c (walk_gimple_stmt): Likewise.
|
|
* omp-low.c (scan_omp_1_stmt): Likewise.
|
|
(lower_omp_1): Likewise.
|
|
(lower_omp_for): Likewise.
|
|
* tree-cfg.c (verify_gimple_in_seq_2): Likewise.
|
|
(do_warn_unused_result): Likewise.
|
|
* tree-inline.c (remap_gimple_stmt): Likewise.
|
|
(estimate_num_insns): Likewise.
|
|
* tree-nested.c (convert_nonlocal_reference_stmt): Likewise.
|
|
|
|
* gimplify.c (gimplify_bind_expr): Update local(s) to be a
|
|
gimple_bind rather than just a gimple.
|
|
(gimplify_function_tree): Likewise.
|
|
* omp-low.c (lower_omp_sections): Likewise.
|
|
(lower_omp_single): Likewise.
|
|
(lower_omp_master): Likewise.
|
|
(lower_omp_taskgroup): Likewise.
|
|
(lower_omp_ordered): Likewise.
|
|
(lower_omp_critical): Likewise.
|
|
(lower_omp_taskreg): Likewise.
|
|
(lower_omp_teams): Likewise.
|
|
* omp-low.c (lower_omp_for): Likewise; use
|
|
gimple_seq_first_stmt_as_a_bind to encapsulate the checked cast.
|
|
(lower_omp_target): Likewise.
|
|
* tree-nested.c (finalize_nesting_tree_1): Likewise.
|
|
|
|
* gimple.c (empty_stmt_p): Add dyn_cast to a gimple_bind.
|
|
* tree-inline.c (replace_locals_stmt): Add dyn_cast to gimple_bind.
|
|
|
|
2014-10-24 David Malcolm <dmalcolm@redhat.com>
|
|
|
|
Introduce gimple_switch and use it in various places
|
|
|
|
* gimple.h (gimple_statement_switch): New subclass of
|
|
gimple_statement_with_ops, adding the invariant that
|
|
stmt->code == GIMPLE_SWITCH.
|
|
(is_a_helper <gimple_statement_switch>::test (gimple)): New.
|
|
|
|
* coretypes.h (gimple_switch): New typedef
|
|
(const_gimple_switch): Likewise.
|
|
|
|
* gdbhooks.py (build_pretty_printer): Add gimple_switch
|
|
and its variants, using the gimple printer.
|
|
|
|
* gimple.c (gimple_build_switch_nlabels): Return a gimple_switch
|
|
rather than just a gimple.
|
|
(gimple_build_switch): Likewise.
|
|
* gimple.h (gimple_build_switch_nlabels): Likewise.
|
|
(gimple_build_switch): Likewise.
|
|
|
|
* gimple.h (gimple_switch_num_labels): Update type-signature to
|
|
require a gimple_switch rather than just a gimple.
|
|
(gimple_switch_set_num_labels): Likewise.
|
|
(gimple_switch_set_index): Likewise.
|
|
(gimple_switch_label): Likewise.
|
|
(gimple_switch_set_label): Likewise.
|
|
(gimple_switch_default_label): Likewise.
|
|
(gimple_switch_set_default_label): Likewise.
|
|
* expr.h (expand_case): Likewise.
|
|
* gimple-pretty-print.c (dump_gimple_call): Likewise.
|
|
* stmt.c (compute_cases_per_edge): Likewise.
|
|
(expand_case): Likewise.
|
|
* tree-cfg.h (group_case_labels_stmt): Likewise.
|
|
* tree-cfg.c (make_gimple_switch_edges): Likewise.
|
|
(find_taken_edge_switch_expr) Likewise.
|
|
(find_case_label_for_value) Likewise.
|
|
(get_cases_for_edge): Likewise.
|
|
(group_case_labels_stmt): Likewise.
|
|
(verify_gimple_switch): Likewise.
|
|
* tree-eh.c (verify_norecord_switch_expr): Likewise.
|
|
* tree-eh.c (lower_eh_constructs_2): Likewise.
|
|
* tree-loop-distribution.c (generate_loops_for_partition): Likewise.
|
|
* tree-ssa-dom.c (record_edge_info): Likewise.
|
|
* tree-ssa-forwprop.c (simplify_gimple_switch_label_vec): Likewise.
|
|
(simplify_gimple_switch): Likewise.
|
|
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
|
|
(collect_switch_conv_info): Likewise.
|
|
(build_constructors): Likewise.
|
|
(array_value_type): Likewise.
|
|
(build_one_array): Likewise.
|
|
(build_arrays): Likewise.
|
|
(gen_inbound_check): Likewise.
|
|
* tree-vrp.c (find_switch_asserts): Likewise.
|
|
(find_case_label_range): Likewise.
|
|
(find_case_label_ranges): Likewise.
|
|
(vrp_visit_switch_stmt): Likewise.
|
|
(simplify_switch_using_ranges): Likewise.
|
|
|
|
* tree-vrp.c (switch_update): Strengthen field "stmt" from being
|
|
merely a gimple to being a gimple_switch.
|
|
|
|
* cfgexpand.c (expand_gimple_stmt_1): Add checked cast to
|
|
gimple_switch in regions where the stmt code has been tested as
|
|
GIMPLE_SWITCH.
|
|
* gimple-pretty-print.c (pp_gimple_stmt_1): Likewise.
|
|
* tree-cfg.c (make_edges): Likewise.
|
|
(end_recording_case_labels): Likewise.
|
|
(cleanup_dead_labels): Likewise.
|
|
(cleanup_dead_labels): Likewise.
|
|
(group_case_labels): Likewise.
|
|
(find_taken_edge): Likewise.
|
|
(find_case_label_for_value): Likewise.
|
|
(verify_gimple_stmt): Likewise.
|
|
(gimple_verify_flow_info): Likewise.
|
|
(gimple_redirect_edge_and_branch): Likewise.
|
|
* tree-inline.c (estimate_num_insns): Likewise.
|
|
* tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
|
|
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
|
|
* tree-switch-conversion.c (do_switchconv): Likewise.
|
|
* tree-vrp.c (find_assert_locations_1): Likewise.
|
|
(vrp_visit_stmt): Likewise.
|
|
(simplify_stmt_using_ranges): Likewise.
|
|
|
|
* ipa-inline-analysis.c (set_switch_stmt_execution_predicate):
|
|
Introduce local "lastg" as a generic gimple, so that local "last"
|
|
can be of type gimple_switch once lastg's code has been verified.
|
|
|
|
* omp-low.c (diagnose_sb_2): Introduce switch_stmt local to handle
|
|
the GIMPLE_SWITCH case.
|
|
|
|
* tree-cfg.c (find_taken_edge_switch_expr): Add gimple_switch
|
|
argument, since the caller (find_taken_edge) has checked that
|
|
last_stmt is a switch.
|
|
|
|
Copyright (C) 2014 Free Software Foundation, Inc.
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
are permitted in any medium without royalty provided the copyright
|
|
notice and this notice are preserved.
|