GCC Middle and Back End API Reference
|
#include <tree-ssa-scopedtables.h>
Public Member Functions | |
const_and_copies (void) | |
~const_and_copies (void) | |
void | push_marker (void) |
void | pop_to_marker (void) |
void | record_const_or_copy (tree, tree) |
void | record_const_or_copy (tree, tree, tree) |
Private Member Functions | |
void | record_const_or_copy_raw (tree, tree, tree) |
const_and_copies & | operator= (const const_and_copies &) |
const_and_copies (class const_and_copies &) | |
Private Attributes | |
vec< tree > | m_stack |
This class defines an unwindable const/copy equivalence table layered on top of SSA_NAME_VALUE/set_ssa_name_value. Essentially it's just a stack of name,prev value pairs with a special marker (NULL) to indicate unwind points.
|
inline |
References m_stack.
|
inline |
References m_stack.
|
private |
|
private |
void const_and_copies::pop_to_marker | ( | void | ) |
Pop entries off the stack until we hit the NULL marker. For each entry popped, use the SRC/DEST pair to restore SRC to its prior value.
References dump_file, dump_flags, m_stack, NULL, print_generic_expr(), set_ssa_name_value(), SSA_NAME_VALUE, and TDF_DETAILS.
Referenced by cprop_into_successor_phis().
|
inline |
References m_stack, and NULL_TREE.
Referenced by cprop_into_successor_phis().
Record that X has the value Y.
References record_const_or_copy(), SSA_NAME_VALUE, and y.
Referenced by cprop_into_successor_phis(), eliminate_redundant_computations(), record_const_or_copy(), and record_equality().
Record that X has the value Y and that X's previous value is PREV_X. This variant follow's Y value chain.
References record_const_or_copy_raw(), SSA_NAME_VALUE, TREE_CODE, and y.
Record that X has the value Y and that X's previous value is PREV_X. This variant does not follow the value chain for Y.
References dump_file, dump_flags, m_stack, print_generic_expr(), set_ssa_name_value(), TDF_DETAILS, and y.
Referenced by record_const_or_copy().
Referenced by const_and_copies(), pop_to_marker(), push_marker(), record_const_or_copy_raw(), and ~const_and_copies().