GCC Middle and Back End API Reference
def_walker< reverse > Class Template Referenceabstract
Inheritance diagram for def_walker< reverse >:
Collaboration diagram for def_walker< reverse >:

Public Member Functions

insn_info * insn () const override
 
void advance () override
 
bool valid () const override final
 
bool conflict_p (int &budget) const override final
 

Protected Types

using def_iter_t
 

Protected Member Functions

 def_walker (def_info *def, insn_info *limit, use_array addr_uses)
 
virtual bool iter_valid () const
 
virtual bool alias_conflict_p (int &budget) const =0
 
bool addr_reg_conflict_p () const
 

Static Protected Member Functions

static use_info * start_use_chain (def_iter_t &def_iter)
 

Protected Attributes

def_iter_t def_iter
 
insn_info * limit
 
use_array cand_addr_uses
 

Member Typedef Documentation

◆ def_iter_t

template<bool reverse>
using def_walker< reverse >::def_iter_t
protected
Initial value:
typename std::conditional<reverse,
reverse_def_iterator, def_iterator>::type
Definition gengtype.h:252

Constructor & Destructor Documentation

◆ def_walker()

template<bool reverse>
def_walker< reverse >::def_walker ( def_info * def,
insn_info * limit,
use_array addr_uses )
inlineprotected

Member Function Documentation

◆ addr_reg_conflict_p()

template<bool reverse>
bool def_walker< reverse >::addr_reg_conflict_p ( ) const
inlineprotected

◆ advance()

template<bool reverse>
void def_walker< reverse >::advance ( )
inlineoverridevirtual

Implements alias_walker.

Reimplemented in load_walker< reverse >.

References def_iter.

◆ alias_conflict_p()

template<bool reverse>
virtual bool def_walker< reverse >::alias_conflict_p ( int & budget) const
protectedpure virtual

◆ conflict_p()

template<bool reverse>
bool def_walker< reverse >::conflict_p ( int & budget) const
inlinefinaloverridevirtual

◆ insn()

template<bool reverse>
insn_info * def_walker< reverse >::insn ( ) const
inlineoverridevirtual

◆ iter_valid()

template<bool reverse>
virtual bool def_walker< reverse >::iter_valid ( ) const
inlineprotectedvirtual

Reimplemented in load_walker< reverse >.

References def_iter.

Referenced by valid().

◆ start_use_chain()

template<bool reverse>
static use_info * def_walker< reverse >::start_use_chain ( def_iter_t & def_iter)
inlinestaticprotected

◆ valid()

template<bool reverse>
bool def_walker< reverse >::valid ( ) const
inlinefinaloverridevirtual

Implements alias_walker.

References final(), insn(), iter_valid(), and limit.

Field Documentation

◆ cand_addr_uses

template<bool reverse>
use_array def_walker< reverse >::cand_addr_uses
protected

Referenced by addr_reg_conflict_p(), and def_walker().

◆ def_iter

◆ limit

template<bool reverse>
insn_info* def_walker< reverse >::limit
protected

Referenced by def_walker(), and valid().


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