GCC Middle and Back End API Reference
|
#include <value-relation.h>
Public Member Functions | |
virtual | ~relation_oracle () |
void | record (gimple *, relation_kind, tree, tree) |
void | record (edge, relation_kind, tree, tree) |
virtual void | record (basic_block, relation_kind, tree, tree) |
relation_kind | query (gimple *s, tree ssa1, tree ssa2) |
relation_kind | query (edge e, tree ssa1, tree ssa2) |
virtual relation_kind | query (basic_block, tree, tree) |
virtual void | dump (FILE *, basic_block) const |
virtual void | dump (FILE *) const |
void | debug () const |
Protected Member Functions | |
virtual const_bitmap | equiv_set (tree, basic_block) |
virtual const class pe_slice * | partial_equiv_set (tree) |
void | valid_equivs (bitmap b, const_bitmap equivs, basic_block bb) |
virtual relation_kind | query (basic_block, const_bitmap, const_bitmap) |
Friends | |
class | equiv_relation_iterator |
class | path_oracle |
|
inlinevirtual |
void relation_oracle::debug | ( | ) | const |
References dump().
|
inlinevirtual |
Reimplemented in dom_oracle, equiv_oracle, and path_oracle.
|
inlinevirtual |
Reimplemented in dom_oracle, equiv_oracle, and path_oracle.
Referenced by debug().
|
inlineprotectedvirtual |
Reimplemented in equiv_oracle, and path_oracle.
References NULL.
Referenced by equiv_relation_iterator::equiv_relation_iterator(), and valid_equivs().
Reimplemented in equiv_oracle.
References NULL.
Referenced by equiv_relation_iterator::equiv_relation_iterator().
|
inlineprotectedvirtual |
Reimplemented in dom_oracle, equiv_oracle, and path_oracle.
References VREL_VARYING.
|
inlinevirtual |
Reimplemented in dom_oracle, equiv_oracle, and path_oracle.
References VREL_VARYING.
relation_kind relation_oracle::query | ( | edge | e, |
tree | ssa1, | ||
tree | ssa2 ) |
References query(), single_pred_p(), TREE_CODE, and VREL_VARYING.
relation_kind relation_oracle::query | ( | gimple * | s, |
tree | ssa1, | ||
tree | ssa2 ) |
References gimple_bb(), query(), TREE_CODE, and VREL_VARYING.
Referenced by check_for_binary_op_overflow(), query(), query(), and fold_using_range::range_of_phi().
|
inlinevirtual |
Reimplemented in dom_oracle, equiv_oracle, and path_oracle.
void relation_oracle::record | ( | edge | e, |
relation_kind | k, | ||
tree | op1, | ||
tree | op2 ) |
References value_relation::dump(), dump_file, dump_flags, gcc_checking_assert, record(), single_pred_p(), TDF_DETAILS, TREE_CODE, and VREL_VARYING.
void relation_oracle::record | ( | gimple * | stmt, |
relation_kind | k, | ||
tree | op1, | ||
tree | op2 ) |
|
protected |
References b, bitmap_set_bit, equiv_set(), EXECUTE_IF_SET_IN_BITMAP, i, ssa_name, and SSA_NAME_IN_FREE_LIST.
Referenced by equiv_oracle::register_equiv(), equiv_oracle::register_equiv(), and path_oracle::register_equiv().
|
friend |
References equiv_relation_iterator.
Referenced by equiv_relation_iterator.
|
friend |
References path_oracle.
Referenced by path_oracle.