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

Public Member Functions

void advance () override final
 
insn_info * insn () const override final
 
bool alias_conflict_p (int &budget) const override final
 
 load_walker (def_info *def, insn_info *store, use_array addr_uses, insn_info *limit_insn)
 
bool valid () const override final
 
bool conflict_p (int &budget) const override final
 

Protected Types

using def_iter_t
 

Protected Member Functions

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
 

Private Types

using Base = def_walker<reverse>
 
using use_iter_t
 

Private Member Functions

bool iter_valid () const override final
 

Private Attributes

use_iter_t use_iter
 
insn_info * cand_store
 

Member Typedef Documentation

◆ Base

template<bool reverse>
using load_walker< reverse >::Base = def_walker<reverse>
private

◆ def_iter_t

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

◆ use_iter_t

template<bool reverse>
using load_walker< reverse >::use_iter_t
private
Initial value:
typename std::conditional<reverse,
reverse_use_iterator, nondebug_insn_use_iterator>::type

Constructor & Destructor Documentation

◆ load_walker()

template<bool reverse>
load_walker< reverse >::load_walker ( def_info * def,
insn_info * store,
use_array addr_uses,
insn_info * limit_insn )
inline

Member Function Documentation

◆ addr_reg_conflict_p()

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

◆ advance()

template<bool reverse>
void load_walker< reverse >::advance ( )
inlinefinaloverridevirtual

◆ alias_conflict_p()

template<bool reverse>
bool load_walker< reverse >::alias_conflict_p ( int & budget) const
inlinefinaloverridevirtual

◆ conflict_p()

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

◆ insn()

template<bool reverse>
insn_info * load_walker< reverse >::insn ( ) const
inlinefinaloverridevirtual

Reimplemented from def_walker< reverse >.

References final().

Referenced by alias_conflict_p().

◆ iter_valid()

template<bool reverse>
bool load_walker< reverse >::iter_valid ( ) const
inlinefinaloverrideprivatevirtual

Reimplemented from def_walker< reverse >.

References final(), and use_iter.

◆ start_use_chain()

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

◆ valid()

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

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
protectedinherited

Referenced by addr_reg_conflict_p(), and def_walker().

◆ cand_store

template<bool reverse>
insn_info* load_walker< reverse >::cand_store
private

Referenced by alias_conflict_p(), and load_walker().

◆ def_iter

◆ limit

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

Referenced by def_walker(), and valid().

◆ use_iter

template<bool reverse>
use_iter_t load_walker< reverse >::use_iter
private

Referenced by advance(), iter_valid(), and load_walker().


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