X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Fircons.c;h=d40aa8d9f39a9323d183e9a0352cd8732ca19d25;hb=1c4364b9e2f90da9bac32ce71e82fe29d8a2bd2f;hp=4d075708d39b0ab77fe229edfac785cc478b2350;hpb=e11e9811dbd6dd71d1aa93fd7de821ed422b6393;p=libfirm diff --git a/ir/ir/ircons.c b/ir/ir/ircons.c index 4d075708d..d40aa8d9f 100644 --- a/ir/ir/ircons.c +++ b/ir/ir/ircons.c @@ -49,6 +49,43 @@ new_ir_node (ir_graph *irg, ir_node *block, ir_op *op, ir_mode *mode, /*********************************************** */ /** privat interfaces, for professional use only */ +/*CS*/ +inline ir_node * +new_r_Block (ir_graph *irg, int arity, ir_node **in) +{ + ir_node *res; + + res = new_ir_node (current_ir_graph, NULL, op_Block, mode_R, -1, NULL); + + return res; + +} + +ir_node * +new_r_Start (ir_graph *irg, ir_node *block) +{ + ir_node *res; + + res = new_ir_node (irg, block, op_Start, mode_T, 0, NULL); + + ir_vrfy (res); + return res; +} + + +ir_node * +new_r_End (ir_graph *irg, ir_node *block) +{ + ir_node *res; + + res = new_ir_node (irg, block, op_End, mode_X, -1, NULL); + + ir_vrfy (res); + return res; + +} + + /* Creates a Phi node with 0 predecessors */ inline ir_node * new_r_Phi0 (ir_graph *irg, ir_node *block, ir_mode *mode) @@ -742,7 +779,8 @@ new_Block (void) res->attr.block.matured = 0; set_Block_block_visit(res, 0); - // res = optimize (res); /* GL: only optimize if mature!!!! */ + /* forget this optimization. use this only if mature !!!! + res = optimize (res); */ ir_vrfy (res); /** create a new dynamic array, which stores all parameters in irnodes */