GCC Middle and Back End API Reference
copy_prop Class Reference
Inheritance diagram for copy_prop:
Collaboration diagram for copy_prop:

Public Member Functions

enum ssa_prop_result visit_stmt (gimple *, edge *, tree *) final override
 
enum ssa_prop_result visit_phi (gphi *) final override
 
void ssa_propagate (void)
 

Private Member Functions

void simulate_stmt (gimple *stmt)
 
void simulate_block (basic_block)
 

Member Function Documentation

◆ simulate_block()

void ssa_propagation_engine::simulate_block ( basic_block block)
privateinherited

◆ simulate_stmt()

◆ ssa_propagate()

void ssa_propagation_engine::ssa_propagate ( void )
inherited

◆ visit_phi()

◆ visit_stmt()

enum ssa_prop_result copy_prop::visit_stmt ( gimple * stmt,
edge * taken_edge_p,
tree * result_p )
finaloverridevirtual
Evaluate statement STMT.  If the statement produces a new output
value, return SSA_PROP_INTERESTING and store the SSA_NAME holding
the new value in *RESULT_P.

If STMT is a conditional branch and we can determine its truth
value, set *TAKEN_EDGE_P accordingly.

If the new value produced by STMT is varying, return
SSA_PROP_VARYING.   

Implements ssa_propagation_engine.

References copy_prop_visit_assignment(), copy_prop_visit_cond_stmt(), dump_file, dump_flags, FOR_EACH_SSA_TREE_OPERAND, ggc_alloc(), gimple_assign_lhs(), i, is_gimple_assign(), print_gimple_stmt(), set_copy_of_val(), SSA_OP_ALL_DEFS, SSA_PROP_VARYING, TDF_DETAILS, and TREE_CODE.


The documentation for this class was generated from the following file: