Data Structures | |
class | id_tab |
Public Types | |
enum | op_type { OP_PREDICATE , OP_EXPR , OP_CAPTURE , OP_C_EXPR , OP_IF , OP_WITH } |
Public Member Functions | |
c_expr (cpp_reader *r_, location_t loc, vec< cpp_token > code_, unsigned nr_stmts_, vec< id_tab > ids_, cid_map_t *capture_ids_) | |
void | gen_transform (FILE *f, int, const char *, bool, int, const char *, capture_info *, dt_operand **=0, int=0, const char *=nullptr) final override |
Data Fields | |
cpp_reader * | r |
vec< cpp_token > | code |
cid_map_t * | capture_ids |
unsigned | nr_stmts |
vec< id_tab > | ids |
enum op_type | type |
location_t | location |
An operator that is represented by native C code. This is always a leaf operand in the AST. This class is also used to represent the code to be generated for 'if' and 'with' expressions.
|
inherited |
|
inline |
References capture_ids, code, ids, nr_stmts, operand::OP_C_EXPR, operand::operand(), and r.
Referenced by parser::parse_c_expr().
|
finaloverridevirtual |
Generate code for a c_expr which is either the expression inside an if statement or a sequence of statements which computes a result to be stored to DEST.
Reimplemented from operand.
References capture_ids, code, fatal_at(), fprintf_indent(), fputc(), gcc_assert, i, ids, line_table, map, nr_stmts, and r.
cid_map_t* c_expr::capture_ids |
Referenced by c_expr(), gen_transform(), and capture_info::walk_c_expr().
vec<cpp_token> c_expr::code |
Referenced by c_expr(), gen_transform(), parser::parse_c_expr(), and capture_info::walk_c_expr().
Referenced by c_expr(), gen_transform(), and lower_for().
|
inherited |
unsigned c_expr::nr_stmts |
Referenced by c_expr(), gen_transform(), parser::parse_c_expr(), and parser::parse_result().
cpp_reader* c_expr::r |
Referenced by c_expr(), and gen_transform().
|
inherited |
Referenced by inchash::add_hashable_expr(), cmp_operand(), compare_op(), dt_simplify::gen_1(), dt_node::gen_kids(), expr::gen_transform(), initialize_expr_from_cond(), lra_set_insn_recog_data(), operand(), parser::parse_simplify(), phi_translate_1(), and avail_exprs_stack::simplify_binary_operation().