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

Public Types

enum  simplify_kind { SIMPLIFY , MATCH }
 

Public Member Functions

 simplify (simplify_kind kind_, unsigned id_, operand *match_, operand *result_, vec< vec< user_id * > > for_vec_, cid_map_t *capture_ids_)
 

Data Fields

simplify_kind kind
 
unsigned id
 
operandmatch
 
class operandresult
 
vec< vec< user_id * > > for_vec
 
vec< std::pair< user_id *, id_base * > > for_subst_vec
 
cid_map_tcapture_ids
 
int capture_max
 

Detailed Description

The main class of a pattern and its transform.  This is used to
represent both (simplify ...) and (match ...) kinds.  The AST
duplicates all outer 'if' and 'for' expressions here so each
simplify can exist in isolation.   

Member Enumeration Documentation

◆ simplify_kind

Enumerator
SIMPLIFY 
MATCH 

Constructor & Destructor Documentation

◆ simplify()

simplify::simplify ( simplify_kind kind_,
unsigned id_,
operand * match_,
operand * result_,
vec< vec< user_id * > > for_vec_,
cid_map_t * capture_ids_ )
inline

Field Documentation

◆ capture_ids

cid_map_t* simplify::capture_ids

◆ capture_max

◆ for_subst_vec

vec<std::pair<user_id *, id_base *> > simplify::for_subst_vec

◆ for_vec

vec<vec<user_id *> > simplify::for_vec

◆ id

◆ kind

◆ match

◆ result


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