GCC Middle and Back End API Reference
decision Class Reference
Inheritance diagram for decision:
Collaboration diagram for decision:

Public Member Functions

 decision (const rtx_test &)
 
void set_parent (list_head< decision > *s)
 
bool if_statement_p (uint64_t *=0) const
 
range release ()
 
void push_back (range)
 
range remove (range)
 
void replace (range, range)
 
transitionsingleton () const
 

Data Fields

states
 
decisionprev
 
decisionnext
 
rtx_test test
 
transitionfirst
 
transitionlast
 

Detailed Description

Represents a test and the action that should be taken on the result.
If a transition exists for the test outcome, the machine switches
to the transition's target state.  If no suitable transition exists,
the machine either falls through to the next decision or, if there are no
more decisions to try, fails the match.   

Constructor & Destructor Documentation

◆ decision()

decision::decision ( const rtx_test & test_in)

Member Function Documentation

◆ if_statement_p()

bool decision::if_statement_p ( uint64_t * label = 0) const
inline
Return true if the decision has a single transition with a single label.
If so, return the label in *LABEL if nonnull.   

References list_head< transition >::first, transition::labels, and list_head< transition >::singleton().

Referenced by find_subroutines(), and print_decision().

◆ push_back()

void list_head< transition >::push_back ( range r)
inherited
Add R to the end of the list.   

◆ release()

list_head< transition >::range list_head< transition >::release ( )
inherited
Empty the list and return the previous contents as a range that can
be inserted into other lists.   

◆ remove()

list_head< transition >::range list_head< transition >::remove ( range r)
inherited
Remove R from the list.  R remains valid and can be inserted into
other lists.   

◆ replace()

void list_head< transition >::replace ( range oldr,
range newr )
inherited
Replace OLDR with NEWR.  OLDR remains valid and can be inserted into
other lists.   

◆ set_parent()

void decision::set_parent ( list_head< decision > * s_in)
Set the state to which this decision belongs.   

References s.

◆ singleton()

transition * list_head< transition >::singleton ( ) const
inherited
If the list contains a single item, return that item, otherwise return
null.   

Referenced by if_statement_p().

Field Documentation

◆ first

transition* list_head< transition >::first
inherited

Referenced by if_statement_p().

◆ last

transition * list_head< transition >::last
inherited

◆ next

◆ prev

decision* decision::prev

◆ s

state* decision::s

Referenced by cse_tests(), and set_parent().

◆ test


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