GCC Middle and Back End API Reference
path_oracle Class Reference

#include <value-relation.h>

Inheritance diagram for path_oracle:
Collaboration diagram for path_oracle:

Public Member Functions

 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
 

Protected Member Functions

virtual const class pe_slicepartial_equiv_set (tree)
 
void valid_equivs (bitmap b, const_bitmap equivs, basic_block bb)
 

Private Member Functions

void register_equiv (basic_block bb, tree ssa1, tree ssa2)
 

Private Attributes

equiv_chain m_equiv
 
relation_chain_head m_relations
 
relation_oraclem_root
 
bitmap m_killed_defs
 
bitmap_obstack m_bitmaps
 
struct obstack m_chain_obstack
 

Constructor & Destructor Documentation

◆ path_oracle()

◆ ~path_oracle()

path_oracle::~path_oracle ( )

Member Function Documentation

◆ debug()

void relation_oracle::debug ( ) const
inherited

◆ dump() [1/2]

void path_oracle::dump ( FILE * f) const
finaloverridevirtual

◆ dump() [2/2]

void path_oracle::dump ( FILE * ,
basic_block  ) const
finaloverridevirtual

◆ equiv_set()

◆ killing_def()

◆ partial_equiv_set()

virtual const class pe_slice * relation_oracle::partial_equiv_set ( tree )
inlineprotectedvirtualinherited

◆ query_relation() [1/2]

◆ query_relation() [2/2]

relation_kind path_oracle::query_relation ( basic_block bb,
tree ssa1,
tree ssa2 )
finaloverridevirtual

◆ register_edge()

◆ register_equiv()

◆ register_relation()

◆ register_stmt()

◆ reset_path()

◆ set_root_oracle()

void path_oracle::set_root_oracle ( relation_oracle * oracle)
inline

References m_root.

Referenced by path_oracle(), and reset_path().

◆ valid_equivs()

◆ validate_relation() [1/2]

relation_kind relation_oracle::validate_relation ( relation_kind rel,
tree ssa1,
tree ssa2 )
inherited

◆ validate_relation() [2/2]

Field Documentation

◆ m_bitmaps

bitmap_obstack path_oracle::m_bitmaps
private

◆ m_chain_obstack

struct obstack path_oracle::m_chain_obstack
private

◆ m_equiv

equiv_chain path_oracle::m_equiv
private

◆ m_killed_defs

bitmap path_oracle::m_killed_defs
private

◆ m_relations

◆ m_root

relation_oracle* path_oracle::m_root
private

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