#include <value-relation.h>
|
| path_oracle (relation_oracle *oracle=NULL) |
|
| ~path_oracle () |
|
const_bitmap | equiv_set (tree, basic_block) final override |
|
void | register_relation (basic_block, relation_kind, tree, tree) final override |
|
void | killing_def (tree) |
|
relation_kind | query_relation (basic_block, tree, tree) final override |
|
relation_kind | query_relation (basic_block, const_bitmap, const_bitmap) final override |
|
void | reset_path (relation_oracle *oracle=NULL) |
|
void | set_root_oracle (relation_oracle *oracle) |
|
void | dump (FILE *, basic_block) const final override |
|
void | dump (FILE *) const final override |
|
void | register_stmt (gimple *, relation_kind, tree, tree) |
|
void | register_edge (edge, relation_kind, tree, tree) |
|
relation_kind | validate_relation (relation_kind, tree, tree) |
|
relation_kind | validate_relation (relation_kind, vrange &, vrange &) |
|
void | debug () const |
|
◆ path_oracle()
References BITMAP_ALLOC, bitmap_obstack_initialize(), ggc_alloc(), equiv_chain::m_bb, m_bitmaps, m_chain_obstack, m_equiv, relation_chain_head::m_head, m_killed_defs, equiv_chain::m_names, relation_chain_head::m_names, equiv_chain::m_next, m_relations, NULL, and set_root_oracle().
◆ ~path_oracle()
path_oracle::~path_oracle |
( |
| ) |
|
◆ debug()
void relation_oracle::debug |
( |
| ) |
const |
|
inherited |
◆ dump() [1/2]
void path_oracle::dump |
( |
FILE * | f | ) |
const |
|
finaloverridevirtual |
◆ dump() [2/2]
◆ equiv_set()
Implements relation_oracle.
References BITMAP_ALLOC, bitmap_set_bit, relation_oracle::equiv_set(), equiv_chain::find(), ggc_alloc(), m_bitmaps, m_equiv, equiv_chain::m_names, m_root, and SSA_NAME_VERSION.
Referenced by query_relation(), and register_equiv().
◆ killing_def()
void path_oracle::killing_def |
( |
tree | ssa | ) |
|
References b, BITMAP_ALLOC, bitmap_bit_p, bitmap_clear_bit(), bitmap_set_bit, dump_file, dump_flags, gcc_checking_assert, ggc_alloc(), equiv_chain::m_bb, m_bitmaps, m_chain_obstack, m_equiv, relation_chain_head::m_head, m_killed_defs, equiv_chain::m_names, relation_chain_head::m_names, equiv_chain::m_next, m_relations, NULL, print_generic_expr(), SSA_NAME_VERSION, TDF_DETAILS, and TDF_SLIM.
Referenced by path_range_query::maybe_register_phi_relation(), and path_range_query::range_defined_in_block().
◆ partial_equiv_set()
|
inlineprotectedvirtualinherited |
◆ query_relation() [1/2]
◆ query_relation() [2/2]
◆ register_edge()
◆ register_equiv()
References b, BITMAP_ALLOC, bitmap_equal_p(), bitmap_ior_into(), equiv_set(), ggc_alloc(), equiv_chain::m_bb, m_bitmaps, m_chain_obstack, m_equiv, equiv_chain::m_names, equiv_chain::m_next, NULL, and relation_oracle::valid_equivs().
Referenced by register_relation().
◆ register_relation()
Implements relation_oracle.
References bitmap_set_bit, value_relation::dump(), dump_file, dump_flags, ggc_alloc(), basic_block_def::index, m_chain_obstack, relation_chain_head::m_head, relation_chain_head::m_names, relation_chain::m_next, m_relations, query_relation(), register_equiv(), relation_intersect(), value_relation::set_relation(), SSA_NAME_VERSION, TDF_DETAILS, VREL_EQ, and VREL_VARYING.
◆ register_stmt()
References value_relation::dump(), dump_file, dump_flags, gcc_checking_assert, ggc_alloc(), gimple_bb(), gimple_phi_result(), print_generic_expr(), print_gimple_stmt(), relation_oracle::register_relation(), SSA_NAME_DEF_STMT, TDF_DETAILS, TDF_SLIM, TREE_CODE, VREL_EQ, and VREL_VARYING.
Referenced by fur_depend::register_relation().
◆ reset_path()
References bitmap_clear(), m_equiv, relation_chain_head::m_head, m_killed_defs, equiv_chain::m_names, relation_chain_head::m_names, equiv_chain::m_next, m_relations, NULL, and set_root_oracle().
Referenced by path_range_query::compute_ranges(), and path_range_query::compute_ranges_in_block().
◆ set_root_oracle()
◆ valid_equivs()
◆ validate_relation() [1/2]
◆ validate_relation() [2/2]
References boolean_type_node, range_op_handler::fold_range(), ggc_alloc(), relation_trio::op1_op2(), range_compatible_p(), relation_to_code, vrange::type(), vrange::undefined_p(), Value_Range::varying_p(), VREL_VARYING, and Value_Range::zero_p().
◆ m_bitmaps
◆ m_chain_obstack
◆ m_equiv
◆ m_killed_defs
bitmap path_oracle::m_killed_defs |
|
private |
◆ m_relations
◆ m_root
The documentation for this class was generated from the following files: