GCC Middle and Back End API Reference
relation_oracle Class Referenceabstract

#include <value-relation.h>

Inheritance diagram for relation_oracle:

Public Member Functions

virtual ~relation_oracle ()
 
void register_stmt (gimple *, relation_kind, tree, tree)
 
void register_edge (edge, relation_kind, tree, tree)
 
virtual void register_relation (basic_block, relation_kind, tree, tree)=0
 
virtual relation_kind query_relation (basic_block, tree, tree)=0
 
relation_kind validate_relation (relation_kind, tree, tree)
 
relation_kind validate_relation (relation_kind, vrange &, vrange &)
 
virtual void dump (FILE *, basic_block) const =0
 
virtual void dump (FILE *) const =0
 
void debug () const
 

Protected Member Functions

virtual const_bitmap equiv_set (tree, basic_block)=0
 
virtual const class pe_slicepartial_equiv_set (tree)
 
void valid_equivs (bitmap b, const_bitmap equivs, basic_block bb)
 
virtual relation_kind query_relation (basic_block, const_bitmap, const_bitmap)=0
 

Friends

class equiv_relation_iterator
 
class path_oracle
 

Constructor & Destructor Documentation

◆ ~relation_oracle()

virtual relation_oracle::~relation_oracle ( )
inlinevirtual

Member Function Documentation

◆ debug()

void relation_oracle::debug ( ) const

References dump(), and ggc_alloc().

◆ dump() [1/2]

virtual void relation_oracle::dump ( FILE * ) const
pure virtual

Implemented in path_oracle, dom_oracle, and equiv_oracle.

◆ dump() [2/2]

virtual void relation_oracle::dump ( FILE * ,
basic_block  ) const
pure virtual

Implemented in path_oracle, dom_oracle, and equiv_oracle.

Referenced by debug(), and ranger_cache::dump_bb().

◆ equiv_set()

virtual const_bitmap relation_oracle::equiv_set ( tree ,
basic_block  )
protectedpure virtual

◆ partial_equiv_set()

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

◆ query_relation() [1/2]

virtual relation_kind relation_oracle::query_relation ( basic_block ,
const_bitmap ,
const_bitmap  )
protectedpure virtual

Implemented in dom_oracle, path_oracle, and equiv_oracle.

◆ query_relation() [2/2]

◆ register_edge()

◆ register_relation()

◆ register_stmt()

◆ valid_equivs()

◆ validate_relation() [1/2]

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

◆ validate_relation() [2/2]

Friends And Related Symbol Documentation

◆ equiv_relation_iterator

◆ path_oracle


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