|
GCC Middle and Back End API Reference
|

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 |
| operand * | match |
| class operand * | result |
| vec< vec< user_id * > > | for_vec |
| vec< std::pair< user_id *, id_base * > > | for_subst_vec |
| cid_map_t * | capture_ids |
| int | capture_max |
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.
|
inline |
References capture_ids, capture_max, for_subst_vec, for_vec, id, kind, match, result, and vNULL.
Referenced by dom_opt_dom_walker::fold_cond(), lower_commutative(), lower_for(), and lower_opt().
| cid_map_t* simplify::capture_ids |
Referenced by simplify().
| int simplify::capture_max |
Referenced by simplify().
Referenced by lower_for(), and simplify().
Referenced by simplify().
| unsigned simplify::id |
Referenced by simplify().
| simplify_kind simplify::kind |
Referenced by simplify().
| operand* simplify::match |
Referenced by dt_node::append_simplify(), and simplify().
| class operand* simplify::result |
Referenced by simplify().