GCC Middle and Back End API Reference
tree-ssa-operands.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  use_optype_d
 
struct  ssa_operand_memory_d
 
struct  ssa_operands
 

Macros

#define NULL_USE_OPERAND_P   ((use_operand_p)NULL)
 
#define NULL_DEF_OPERAND_P   ((def_operand_p)NULL)
 
#define USE_FROM_PTR(PTR)   get_use_from_ptr (PTR)
 
#define DEF_FROM_PTR(PTR)   get_def_from_ptr (PTR)
 
#define SET_USE(USE, V)   set_ssa_use_from_ptr (USE, V)
 
#define SET_DEF(DEF, V)   ((*(DEF)) = (V))
 
#define USE_STMT(USE)   (USE)->loc.stmt
 
#define USE_OP_PTR(OP)   (&((OP)->use_ptr))
 
#define USE_OP(OP)   (USE_FROM_PTR (USE_OP_PTR (OP)))
 
#define PHI_RESULT_PTR(PHI)   gimple_phi_result_ptr (PHI)
 
#define PHI_RESULT(PHI)   DEF_FROM_PTR (PHI_RESULT_PTR (PHI))
 
#define SET_PHI_RESULT(PHI, V)   SET_DEF (PHI_RESULT_PTR (PHI), (V))
 
#define PHI_ARG_DEF_PTR(PHI, I)   gimple_phi_arg_imm_use_ptr ((PHI), (I))
 
#define PHI_ARG_DEF(PHI, I)   gimple_phi_arg_def ((PHI), (I))
 
#define SET_PHI_ARG_DEF(PHI, I, V)    SET_USE (PHI_ARG_DEF_PTR ((PHI), (I)), (V))
 
#define SET_PHI_ARG_DEF_ON_EDGE(PHI, E, V)
 
#define PHI_ARG_DEF_FROM_EDGE(PHI, E)    gimple_phi_arg_def_from_edge ((PHI), (E))
 
#define PHI_ARG_DEF_PTR_FROM_EDGE(PHI, E)    gimple_phi_arg_imm_use_ptr_from_edge ((PHI), (E))
 
#define PHI_ARG_INDEX_FROM_USE(USE)   phi_arg_index_from_use (USE)
 

Typedefs

typedef treedef_operand_p
 
typedef ssa_use_operand_tuse_operand_p
 
typedef struct use_optype_duse_optype_p
 

Functions

bool ssa_operands_active (struct function *)
 
void init_ssa_operands (struct function *fn)
 
void fini_ssa_operands (struct function *)
 
bool verify_ssa_operands (struct function *, gimple *stmt)
 
void free_stmt_operands (struct function *, gimple *)
 
void update_stmt_operands (struct function *, gimple *)
 
void swap_ssa_operands (gimple *, tree *, tree *)
 
bool verify_imm_links (FILE *f, tree var)
 
void dump_immediate_uses_for (FILE *file, tree var)
 
void dump_immediate_uses (FILE *file)
 
void debug_immediate_uses (void)
 
void debug_immediate_uses_for (tree var)
 
void unlink_stmt_vdef (gimple *)
 
tree get_use_from_ptr (use_operand_p use)
 
tree get_def_from_ptr (def_operand_p def)
 

Macro Definition Documentation

◆ DEF_FROM_PTR

◆ NULL_DEF_OPERAND_P

◆ NULL_USE_OPERAND_P

◆ PHI_ARG_DEF

◆ PHI_ARG_DEF_FROM_EDGE

#define PHI_ARG_DEF_FROM_EDGE ( PHI,
E )    gimple_phi_arg_def_from_edge ((PHI), (E))

Referenced by add_iv_candidate_for_biv(), add_phi_args_after_copy_edge(), adjust_phi_and_debug_stmts(), analyze_and_compute_bitop_with_inv_effect(), analyze_and_compute_bitwise_induction_effect(), loop_cand::analyze_iloop_reduction_var(), loop_cand::analyze_induction_var(), loop_cand::analyze_oloop_reduction_var(), tree_switch_conversion::switch_conversion::build_arrays(), tree_switch_conversion::switch_conversion::build_constructors(), check_exit_phi(), cond_if_else_store_replacement(), connect_loop_phis(), copy_phis_for_bb(), create_parallel_loop(), determine_value_range(), easy_exit_values(), edge_forwards_cmp_to_conditional_jump_through_empty_bb_p(), eliminate_temp_copies(), expand_omp_for_generic(), expand_omp_for_static_chunk(), final_value_replacement_loop(), find_bivs(), find_interesting_uses_outside(), pcom_worker::find_looparound_phi(), back_threader::find_paths_to_names(), find_phi_with_arg_on_edge(), find_reduc_addr(), find_subloop_latch_edge_by_ivs(), find_uses_to_rename_bb(), find_vdef_in_loop(), tree_switch_conversion::switch_conversion::gather_default_values(), tree_switch_conversion::switch_conversion::gen_inbound_check(), get_base_for(), get_vop_from_header(), gimple_ic(), hoist_guard(), ifcvt_local_dce(), independent_of_stmt_p(), initialize_reductions(), is_cond_scalar_reduction(), loop_closed_phi_def(), loop_iter_phi_semi_invariant_p(), loop_niter_by_eval(), make_forwarders_with_degenerate_phis(), mark_bivs(), maybe_set_vectorized_backedge_value(), move_computations_worker(), parloops_is_simple_reduction(), phiprop_insert_phi(), pcom_worker::prepare_initializers_chain(), process_use(), propagate_through_phis(), condition_info::record_phi_mapping(), jump_threader::record_temporary_equivalences_from_phis(), same_phi_args_p(), ssa_propagation_engine::simulate_stmt(), slpeel_tree_duplicate_loop_to_edge_cfg(), slpeel_update_phi_nodes_for_guard1(), split_loop(), path_range_query::ssa_range_in_phi(), stmt_semi_invariant_p_1(), transform_to_exit_first_loop(), transform_to_exit_first_loop_alt(), tree_transform_and_unroll_loop(), try_create_reduction_list(), vect_find_reusable_accumulator(), vect_is_nonlinear_iv_evolution(), vect_is_simple_reduction(), vect_loop_versioning(), vect_phi_first_order_recurrence_p(), vect_phi_initial_value(), vect_setup_realignment(), vect_update_ivs_after_vectorizer(), vectorizable_induction(), vectorizable_load(), vectorizable_recurr(), vectorizable_reduction(), verify_vssa(), visit_phi(), vn_phi_insert(), vn_phi_lookup(), and warn_uninit_phi_uses().

◆ PHI_ARG_DEF_PTR

◆ PHI_ARG_DEF_PTR_FROM_EDGE

◆ PHI_ARG_INDEX_FROM_USE

◆ PHI_RESULT

#define PHI_RESULT ( PHI)    DEF_FROM_PTR (PHI_RESULT_PTR (PHI))

Referenced by pcom_worker::add_looparound_copies(), add_phi_arg(), add_successor_phi_arg(), adjust_phi_and_debug_stmts(), loop_cand::analyze_carried_vars(), loop_cand::analyze_lcssa_phis(), base_names_in_chain_on(), eliminate_dom_walker::before_dom_children(), tree_switch_conversion::switch_conversion::build_one_array(), build_ssa_conflict_graph(), loop_cand::can_interchange_p(), canonicalize_loop_ivs(), check_all_va_list_escapes(), check_loop_closed_ssa_bb(), check_reduction_path(), loop_cand::classify_simple_reduction(), coalesce_partitions(), compute_optimized_partition_bases(), cond_if_else_store_replacement_1(), cond_store_replacement(), copy_phis_for_bb(), count_stmts_and_phis_in_block(), create_call_for_reduction_1(), create_loads_for_reductions(), create_tailcall_accumulator(), determine_set_costs(), dse_classify_store(), eliminate_tail_call(), eliminate_temp_copies(), empty_bb_without_guard_p(), expr_expected_value_1(), factor_out_conditional_operation(), final_value_replacement_loop(), find_bivs(), find_interesting_uses_stmt(), pcom_worker::find_looparound_phi(), scev_dfs::follow_ssa_edge_inner_loop_phi(), gather_scalar_reductions(), get_virtual_phi(), gimple_can_merge_blocks_p(), initialize_reductions(), insert_phi_nodes_for(), is_cond_scalar_reduction(), iv_phi_p(), loop_closed_phi_def(), loop_has_vector_phi_nodes(), mark_bivs(), maybe_skip_until(), minmax_replacement(), move_block_to_fn(), name_for_ref(), num_phis(), oacc_entry_exit_ok_1(), op_iter_init_phidef(), optimize_va_list_gpr_fpr_size(), output_phi(), parloops_is_simple_reduction(), parloops_is_slp_reduction(), phiprop_insert_phi(), fvrp_folder::pre_fold_bb(), process_bb(), propagate_through_phis(), propagate_with_phi(), record_edge_info(), pcom_worker::remove_stmt(), replace_phi_edge_with_variable(), replace_phis_by_defined_names(), replace_ref_with(), rewrite_phi_with_iv(), rewrite_use_nonlinear_expr(), shrink_wrap_one_built_in_call_with_conds(), pcom_worker::single_nonlooparound_use(), single_phi_def(), slpeel_tree_duplicate_loop_to_edge_cfg(), slpeel_update_phi_nodes_for_guard1(), spaceship_replacement(), split_loop_exit_edge(), transform_to_exit_first_loop(), transform_to_exit_first_loop_alt(), try_create_reduction_list(), uncprop_into_successor_phis(), loop_cand::undo_simple_reduction(), update_ssa_across_abnormal_edges(), vect_analyze_scalar_cycles_1(), vect_build_slp_tree_2(), vect_create_epilog_for_reduction(), vect_determine_vectorization_factor(), vect_do_peeling(), vect_is_nonlinear_iv_evolution(), vect_is_simple_reduction(), vect_loop_versioning(), vectorizable_induction(), vectorizable_nonlinear_induction(), vectorizable_reduction(), and visit_phi().

◆ PHI_RESULT_PTR

#define PHI_RESULT_PTR ( PHI)    gimple_phi_result_ptr (PHI)

Referenced by op_iter_init_phidef().

◆ SET_DEF

◆ SET_PHI_ARG_DEF

◆ SET_PHI_ARG_DEF_ON_EDGE

#define SET_PHI_ARG_DEF_ON_EDGE ( PHI,
E,
V )
Value:
((PHI), (E)), (V))
#define E
use_operand_p gimple_phi_arg_imm_use_ptr_from_edge(gimple *gs, const_edge e)
Definition tree-phinodes.h:40
#define SET_USE(USE, V)
Definition tree-ssa-operands.h:67

Referenced by move_early_exit_stmts(), and slpeel_tree_duplicate_loop_to_edge_cfg().

◆ SET_PHI_RESULT

#define SET_PHI_RESULT ( PHI,
V )   SET_DEF (PHI_RESULT_PTR (PHI), (V))

◆ SET_USE

#define SET_USE ( USE,
V )   set_ssa_use_from_ptr (USE, V)

Referenced by adjust_before_returns_twice_call(), adjust_debug_stmts_now(), bump_vector_ptr(), clean_up_loop_closed_phi(), combine_blocks(), connect_loop_phis(), copy_loop_before(), create_parallel_loop(), expand_gimple_basic_block(), expand_omp_atomic_pipeline(), expand_omp_for_generic(), fold_loop_internal_call(), generate_reduction_builtin_1(), gimple_ic(), gimple_lower_bitint(), gimple_merge_blocks(), initialize_reductions(), insert_backedge_copies(), insert_debug_temp_for_var_def(), insert_phi_nodes(), make_new_ssa_for_def(), tree_loop_interchange::map_inductions_to_loop(), mark_virtual_operand_for_renaming(), maybe_optimize_range_tests(), maybe_replace_use(), maybe_replace_use_in_debug_stmt(), move_block_to_fn(), move_computations_worker(), move_early_exit_stmts(), optimize_atomic_bit_test_and(), propagate_op_to_single_use(), record_equivalences_from_phis(), jt_state::register_equivs_stmt(), remove_dead_phis(), remove_gimple_phi_args(), remove_unused_ivs(), rename_use_op(), replace_abnormal_ssa_names(), replace_exp(), replace_phi_edge_with_variable(), replace_reciprocal(), replace_reciprocal_squares(), replace_uses_in_bb_by(), ipa_param_body_adjustments::reset_debug_stmts(), rewrite_bittest(), rewrite_debug_stmt_uses(), rewrite_stmt(), rewrite_update_phi_arguments(), separate_decls_in_region_debug(), separate_decls_in_region_stmt(), shrink_wrap_one_built_in_call_with_conds(), simd_clone_adjust(), sink_clobbers(), sink_code_in_bb(), split_function(), split_loop_exit_edge(), tree_transform_and_unroll_loop(), loop_cand::undo_simple_reduction(), unlink_stmt_vdef(), unsplit_eh(), update_ssa_across_abnormal_edges(), vect_create_epilog_for_reduction(), vect_finish_stmt_generation(), vectorizable_live_operation(), and verify_bb_vtables().

◆ USE_FROM_PTR

#define USE_FROM_PTR ( PTR)    get_use_from_ptr (PTR)

Referenced by add_scope_conflicts_1(), adjust_before_returns_twice_call(), avoid_deep_ter_for_debug(), eliminate_dom_walker::before_dom_children(), bump_vector_ptr(), check_all_va_list_escapes(), check_reduction_path(), combine_blocks(), compute_added_num_insns(), connect_loop_phis(), convert_mult_to_fma(), copy_loop_before(), cprop_into_stmt(), cprop_operand(), determine_max_movement(), dump_immediate_uses_for(), eliminate_dom_walker::eliminate_stmt(), eliminate_unnecessary_stmts(), estimate_threading_killed_stmts(), find_deps_in_bb_for_stmt(), find_deriving_biv_for_expr(), find_interesting_uses_stmt(), find_invariants_stmt(), find_ssa_names_to_propagate(), find_uninit_use(), gimple_lower_bitint(), ifcvt_local_dce(), invariant_in_sese_p_rec(), is_maybe_undefined(), last_fma_candidate_feeds_initial_phi(), link_use_stmts_after(), tree_loop_interchange::map_inductions_to_loop(), mark_def_sites(), maybe_replace_use(), maybe_replace_use_in_debug_stmt(), move_block_to_fn(), move_use_after_head(), movement_possibility(), optimize_va_list_gpr_fpr_size(), prepare_block_for_update_1(), ipa_param_body_adjustments::prepare_debug_expressions(), process_bb(), substitute_and_fold_engine::propagate_into_phi_args(), propagate_value(), propagate_with_phi(), jt_state::register_equivs_stmt(), remove_gimple_phi_args(), remove_unused_locals(), rename_use_op(), reorder_operands(), replace_abnormal_ssa_names(), substitute_and_fold_engine::replace_uses_in(), rewrite_debug_stmt_uses(), rewrite_stmt(), rewrite_update_phi_arguments(), separate_decls_in_region_debug(), separate_decls_in_region_stmt(), sese_build_liveouts_bb(), simple_dce_from_worklist(), ssa_propagation_engine::simulate_stmt(), split_function(), split_loop_exit_edge(), statement_sink_location(), stmt_references_abnormal_ssa_name(), stmt_update_dep_bb(), tree_transform_and_unroll_loop(), update_debug_stmt(), update_ssa(), update_ssa_across_abnormal_edges(), vect_inner_phi_in_double_reduction_p(), vect_loop_versioning(), vect_mark_stmts_to_be_vectorized(), verify_imm_links(), verify_phi_args(), verify_ssa(), operands_scanner::verify_ssa_operands(), verify_use(), and warn_uninitialized_vars().

◆ USE_OP

#define USE_OP ( OP)    (USE_FROM_PTR (USE_OP_PTR (OP)))

Referenced by op_iter_next_tree().

◆ USE_OP_PTR

◆ USE_STMT

#define USE_STMT ( USE)    (USE)->loc.stmt

Referenced by add_ssa_edge(), all_immediate_uses_same_place(), all_uses_feed_or_dominated_by_stmt(), loop_cand::analyze_iloop_reduction_var(), loop_cand::analyze_oloop_reduction_var(), back_propagate_equivalences(), check_forbidden_calls(), check_loop_closed_ssa_def(), check_reduction_path(), check_scan_store(), cleanup_empty_eh_merge_phis(), compute_added_num_insns(), convert_mult_to_fma(), create_rdg_edges_for_scalar(), do_warn_nonnull_compare(), dse_classify_store(), dump_immediate_uses_for(), execute_cse_reciprocals_1(), expand_gimple_basic_block(), expand_vector_comparison(), find_uninit_use(), first_imm_use_stmt(), fully_replaceable(), get_reassociation_width(), gimple_lower_bitint(), has_single_use(), has_zero_uses(), ifcvt_local_dce(), insert_debug_temp_for_var_def(), is_cond_scalar_reduction(), is_feasible_trace(), link_use_stmts_after(), ipa_param_body_adjustments::mark_clobbers_dead(), ipa_param_body_adjustments::mark_dead_statements(), mark_ssa_maybe_undefs(), match_arith_overflow(), match_uaddc_usubc(), maybe_optimize_arith_overflow(), maybe_optimize_mod_cmp(), maybe_push_to_hybrid_worklist(), maybe_set_vectorized_backedge_value(), maybe_warn_operand(), nearest_common_dominator_of_uses(), next_imm_use_stmt(), no_side_effect_bb(), num_imm_uses(), optimize_mask_stores(), optimize_successive_divisions_p(), optimize_vector_load(), parloops_is_simple_reduction(), parloops_is_slp_reduction(), phi_arg_index_from_use(), prepare_use_sites_for(), propagate_bias_p(), propagate_value(), propagate_with_phi(), infer_range_manager::register_all_uses(), remove_unreachable::remove_and_update_globals(), replace_reciprocal(), replace_reciprocal_squares(), set_var_live_on_entry(), single_imm_use(), single_imm_use_1(), pcom_worker::single_nonlooparound_use(), single_trailing_store_in_bb(), single_use(), single_use_in_loop(), sink_common_stores_to_bb(), spaceship_replacement(), ssa_name_any_use_dominates_bb_p(), ssa_name_has_uses_outside_loop_p(), statement_sink_location(), stmt_local_def(), trivially_conflicts_p(), try_create_reduction_list(), unroll_jam_possible_p(), use_in_zero_equality(), used_outside_loop_p(), uses_in_bb(), var_is_used_for_virtual_call_p(), vect_build_slp_instance(), vect_create_epilog_for_reduction(), vect_determine_min_output_precision_1(), vect_is_simple_reduction(), vect_phi_first_order_recurrence_p(), vect_stmt_relevant_p(), vectorizable_induction(), vectorizable_scan_store(), and warn_uninit_phi_uses().

Typedef Documentation

◆ def_operand_p

typedef tree* def_operand_p
SSA operand management for trees.
   Copyright (C) 2003-2024 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.   
Interface to SSA operands.   
This represents a pointer to a DEF operand.   

◆ use_operand_p

This represents a pointer to a USE operand.   

◆ use_optype_p

typedef struct use_optype_d* use_optype_p

Function Documentation

◆ debug_immediate_uses()

void debug_immediate_uses ( void )
extern
Dump def-use edges on stderr.   

References dump_immediate_uses().

◆ debug_immediate_uses_for()

void debug_immediate_uses_for ( tree var)
extern
Dump def-use edges on stderr.   

References dump_immediate_uses_for().

◆ dump_immediate_uses()

void dump_immediate_uses ( FILE * file)
extern
Dump all the immediate uses to FILE.   

References cfun, dump_immediate_uses_for(), and FOR_EACH_SSA_NAME.

Referenced by debug_immediate_uses().

◆ dump_immediate_uses_for()

◆ fini_ssa_operands()

void fini_ssa_operands ( struct function * fn)
extern

◆ free_stmt_operands()

void free_stmt_operands ( struct function * fn,
gimple * stmt )
extern
Releases the operands of STMT back to their freelists, and clears
the stmt operand lists.   

References delink_imm_use(), ssa_operands::free_uses, gimple_has_mem_ops(), gimple_set_use_ops(), gimple_set_vdef(), gimple_set_vuse(), gimple_ssa_operands(), gimple_use_ops(), use_optype_d::next, NULL, NULL_TREE, and USE_OP_PTR.

Referenced by move_block_to_fn().

◆ get_def_from_ptr()

tree get_def_from_ptr ( def_operand_p def)
inline
Return the tree pointed-to by DEF.   

Referenced by _slp_tree::push_vec_def().

◆ get_use_from_ptr()

tree get_use_from_ptr ( use_operand_p use)
inline
Return the tree pointed-to by USE.   

Referenced by cprop_into_successor_phis().

◆ init_ssa_operands()

◆ ssa_operands_active()

bool ssa_operands_active ( struct function * fun)
extern

◆ swap_ssa_operands()

void swap_ssa_operands ( gimple * stmt,
tree * exp0,
tree * exp1 )
extern
Swap operands EXP0 and EXP1 in statement STMT.  No attempt is done
to test the validity of the swap operation.   

References gimple_use_ops(), use_optype_d::next, NULL, and USE_OP_PTR.

Referenced by linearize_expr_tree(), optimize_vec_cond_expr(), parloops_is_simple_reduction(), parloops_is_slp_reduction(), reorder_operands(), and repropagate_negates().

◆ unlink_stmt_vdef()

void unlink_stmt_vdef ( gimple * stmt)
extern
Unlink STMTs virtual definition from the IL by propagating its use.   

References FOR_EACH_IMM_USE_ON_STMT, FOR_EACH_IMM_USE_STMT, gimple_vdef(), gimple_vuse(), SET_USE, SSA_NAME_OCCURS_IN_ABNORMAL_PHI, and TREE_CODE.

Referenced by strlen_pass::adjust_last_stmt(), adjust_simduid_builtins(), cleanup_empty_eh_move_lp(), cond_if_else_store_replacement_1(), cond_store_replacement(), delete_dead_or_redundant_assignment(), delete_dead_or_redundant_call(), eliminate_dom_walker::eliminate_cleanup(), eliminate_local_variables_stmt(), execute_omp_device_lower(), execute_update_addresses_taken(), expand_call_inline(), expand_ifn_va_arg_1(), operands_scanner::finalize_ssa_defs(), generate_loops_for_partition(), gimple_fold_builtin_memory_op(), gimple_ic(), gimple_stringop_fixed_value(), gimplify_and_update_call_from_tree(), gsi_replace_with_seq_vops(), strlen_pass::handle_builtin_memset(), strlen_pass::handle_store(), input_function(), maybe_remove_writeonly_store(), tree_loop_interchange::move_code_to_inner_loop(), optimize_clobbers(), dom_opt_dom_walker::optimize_stmt(), optimize_vector_load(), predicate_statements(), propagate_op_to_single_use(), propagate_with_phi(), remove_dead_stmt(), remove_indirect_clobbers(), remove_prop_source_from_use(), pcom_worker::remove_stmt(), vec_info::remove_stmt(), remove_unused_locals(), replace_call_with_value(), ipa_param_body_adjustments::reset_debug_stmts(), sanopt_optimize_walker(), simple_dce_from_worklist(), simplify_builtin_call(), sink_clobbers(), sink_common_stores_to_bb(), sra_modify_assign(), sra_modify_constructor_assign(), sra_modify_deferred_init(), ubsan_expand_bounds_ifn(), ubsan_expand_null_ifn(), ubsan_expand_objsize_ifn(), ubsan_expand_ptr_ifn(), ubsan_expand_vptr_ifn(), loop_cand::undo_simple_reduction(), vect_remove_slp_scalar_calls(), vect_transform_loop(), and vectorizable_simd_clone_call().

◆ update_stmt_operands()

void update_stmt_operands ( struct function * fn,
gimple * stmt )
extern

◆ verify_imm_links()

bool verify_imm_links ( FILE * f,
tree var )
extern
Scan the immediate_use list for VAR making sure its linked properly.
Return TRUE if there is a problem and emit an error message to F.   

References count, error(), gcc_assert, gimple_modified_p(), ssa_use_operand_t::loc, ssa_use_operand_t::next, NULL, ssa_use_operand_t::prev, print_generic_expr(), print_gimple_stmt(), SSA_NAME_IMM_USE_NODE, ssa_use_operand_t::stmt, TDF_SLIM, TREE_CODE, ssa_use_operand_t::use, and USE_FROM_PTR.

Referenced by release_ssa_name_fn(), and verify_use().

◆ verify_ssa_operands()

bool verify_ssa_operands ( struct function * fn,
gimple * stmt )
extern
Interface for external use.   

References operands_scanner::verify_ssa_operands().

Referenced by verify_ssa().