/* It's all just 'expressions', since an ast_block is one too. */
ast_expression *on_true;
ast_expression *on_false;
- /* After a ternary expression we find ourselves in a new IR block
- * and start with a PHI node */
- ir_value *phi_out;
};
ast_ternary* ast_ternary_new(lex_ctx ctx, ast_expression *cond, ast_expression *ontrue, ast_expression *onfalse);
void ast_ternary_delete(ast_ternary*);
ir_block *breakblock;
ir_block *continueblock;
+#if 0
+ /* In order for early-out logic not to go over
+ * excessive jumps, we remember their target
+ * blocks...
+ */
+ ir_block *iftrue;
+ ir_block *iffalse;
+#endif
+
size_t labelcount;
/* in order for thread safety - for the optional
* channel abesed multithreading... keeping a buffer