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

Data Structures

union  [union].u

Public Types

enum  kind_enum {
  CODE , MODE , REGNO_FIELD , SUBREG_FIELD ,
  INT_FIELD , WIDE_INT_FIELD , VECLEN , PEEP2_COUNT ,
  VECLEN_GE , SAVED_CONST_INT , PREDICATE , DUPLICATE ,
  PATTERN , HAVE_NUM_CLOBBERS , C_TEST , SET_OP ,
  ACCEPT
}

Public Member Functions

 rtx_test ()
bool terminal_p () const
bool single_outcome_p () const

Static Public Member Functions

static rtx_test code (position *)
static rtx_test mode (position *)
static rtx_test regno_field (position *)
static rtx_test subreg_field (position *)
static rtx_test int_field (position *, int)
static rtx_test wide_int_field (position *, int)
static rtx_test veclen (position *)
static rtx_test peep2_count (int)
static rtx_test veclen_ge (position *, int)
static rtx_test predicate (position *, const pred_data *, machine_mode)
static rtx_test duplicate (position *, int)
static rtx_test pattern (position *, pattern_use *)
static rtx_test have_num_clobbers ()
static rtx_test c_test (const char *)
static rtx_test set_op (position *, int)
static rtx_test accept (const acceptance_type &)

Data Fields

position * pos
int pos_operand
kind_enum kind
union  u

Private Member Functions

 rtx_test (position *, kind_enum)

Detailed Description

Represents a test performed by a decision.   

Member Enumeration Documentation

◆ kind_enum

Enumerator
CODE 
MODE 
REGNO_FIELD 
SUBREG_FIELD 
INT_FIELD 
WIDE_INT_FIELD 
VECLEN 
PEEP2_COUNT 
VECLEN_GE 
SAVED_CONST_INT 
PREDICATE 
DUPLICATE 
PATTERN 
HAVE_NUM_CLOBBERS 
C_TEST 
SET_OP 
ACCEPT 

Constructor & Destructor Documentation

◆ rtx_test() [1/2]

◆ rtx_test() [2/2]

rtx_test::rtx_test ( position * pos_in,
kind_enum kind_in )
private

References kind, pos, and pos_operand.

Member Function Documentation

◆ accept()

rtx_test rtx_test::accept ( const acceptance_type & acceptance)
static

◆ c_test()

rtx_test rtx_test::c_test ( const char * string)
static

References C_TEST, rtx_test(), and u.

Referenced by match_pattern_1().

◆ code()

rtx_test rtx_test::code ( position * pos)
static

References CODE, pos, and rtx_test().

Referenced by match_pattern_2(), and terminal_pattern_p().

◆ duplicate()

rtx_test rtx_test::duplicate ( position * pos,
int opno )
static

References DUPLICATE, pos, rtx_test(), and u.

Referenced by match_pattern_2().

◆ have_num_clobbers()

rtx_test rtx_test::have_num_clobbers ( )
static

References HAVE_NUM_CLOBBERS, and rtx_test().

Referenced by match_pattern_1().

◆ int_field()

rtx_test rtx_test::int_field ( position * pos,
int opno )
static

References INT_FIELD, pos, rtx_test(), and u.

Referenced by match_pattern_2().

◆ mode()

rtx_test rtx_test::mode ( position * pos)
static

◆ pattern()

rtx_test rtx_test::pattern ( position * pos,
pattern_use * pattern )
static

◆ peep2_count()

rtx_test rtx_test::peep2_count ( int min_len)
static

References PEEP2_COUNT, rtx_test(), and u.

Referenced by match_pattern_1().

◆ predicate()

rtx_test rtx_test::predicate ( position * ,
const pred_data * ,
machine_mode  )
static

◆ regno_field()

rtx_test rtx_test::regno_field ( position * pos)
static

References pos, REGNO_FIELD, and rtx_test().

Referenced by match_pattern_2().

◆ set_op()

rtx_test rtx_test::set_op ( position * pos,
int opno )
static

References pos, rtx_test(), SET_OP, and u.

Referenced by match_pattern_2().

◆ single_outcome_p()

bool rtx_test::single_outcome_p ( ) const
Return true if the test is a boolean that is always true.   

References kind, SET_OP, and terminal_p().

Referenced by find_subroutines().

◆ subreg_field()

rtx_test rtx_test::subreg_field ( position * pos)
static

References pos, rtx_test(), and SUBREG_FIELD.

Referenced by match_pattern_2().

◆ terminal_p()

bool rtx_test::terminal_p ( ) const
Return true if the test represents an unconditionally successful match.   

References ACCEPT, kind, PEEPHOLE2, and u.

Referenced by single_outcome_p().

◆ veclen()

rtx_test rtx_test::veclen ( position * pos)
static

References pos, rtx_test(), and VECLEN.

Referenced by match_pattern_2().

◆ veclen_ge()

rtx_test rtx_test::veclen_ge ( position * pos,
int min_len )
static

References pos, rtx_test(), u, and VECLEN_GE.

Referenced by match_pattern_2().

◆ wide_int_field()

rtx_test rtx_test::wide_int_field ( position * pos,
int opno )
static

References pos, rtx_test(), u, and WIDE_INT_FIELD.

Referenced by match_pattern_2().

Field Documentation

◆ kind

◆ pos

◆ pos_operand

◆ u


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