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.
cid_map_t* simplify::capture_ids |
Referenced by lower_commutative(), lower_cond(), lower_for(), lower_opt(), and simplify().
int simplify::capture_max |
Referenced by capture_info::capture_info(), decision_tree::insert(), decision_tree::print_node(), and simplify().
Referenced by decision_tree::gen(), lower_cond(), lower_for(), and simplify().
Referenced by lower_commutative(), lower_cond(), lower_opt(), and simplify().
unsigned simplify::id |
Referenced by decision_tree::insert(), lower_commutative(), lower_cond(), lower_for(), lower_opt(), and simplify().
simplify_kind simplify::kind |
Referenced by capture_info::capture_info(), emit_logging_call(), lower_commutative(), lower_cond(), lower_for(), lower_opt(), and simplify().
operand* simplify::match |
class operand* simplify::result |
Referenced by capture_info::capture_info(), decision_tree::gen(), lower_commutative(), lower_cond(), lower_for(), lower_opt(), and simplify().