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

Public Member Functions

 store_walker (def_info *mem_def, rtx mem, use_array addr_uses, insn_info *limit_insn, InsnPredicate tombstone_fn)
 
bool alias_conflict_p (int &budget) const override final
 
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

virtual bool iter_valid () const
 
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 Attributes

rtx cand_mem
 
InsnPredicate tombstone_p
 

Member Typedef Documentation

◆ 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

Constructor & Destructor Documentation

◆ store_walker()

template<bool reverse, typename InsnPredicate >
store_walker< reverse, InsnPredicate >::store_walker ( def_info * mem_def,
rtx mem,
use_array addr_uses,
insn_info * limit_insn,
InsnPredicate tombstone_fn )
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 def_walker< reverse >::advance ( )
inlineoverridevirtualinherited

Implements alias_walker.

Reimplemented in load_walker< reverse >.

References def_walker< reverse >::def_iter.

◆ alias_conflict_p()

template<bool reverse, typename InsnPredicate >
bool store_walker< reverse, InsnPredicate >::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 * def_walker< reverse >::insn ( ) const
inlineoverridevirtualinherited

◆ iter_valid()

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

◆ 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

Field Documentation

◆ cand_addr_uses

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

◆ cand_mem

template<bool reverse, typename InsnPredicate >
rtx store_walker< reverse, InsnPredicate >::cand_mem
private

◆ def_iter

◆ limit

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

◆ tombstone_p

template<bool reverse, typename InsnPredicate >
InsnPredicate store_walker< reverse, InsnPredicate >::tombstone_p
private

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