| 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 class relation_chain * | next_relation (basic_block, relation_chain *, tree) const | 
| 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 | block_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().
| 
 | inlineprotectedvirtual | 
Reimplemented in dom_oracle.
References NULL.
Referenced by block_relation_iterator::block_relation_iterator().
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 block_relation_iterator.
Referenced by block_relation_iterator.
| 
 | friend | 
References equiv_relation_iterator.
Referenced by equiv_relation_iterator.
| 
 | friend | 
References path_oracle.
Referenced by path_oracle.