Use new scope instead of empty statement.
[libfirm] / ir / ir / ircons_t.h
1 /*
2  * This file is part of libFirm.
3  * Copyright (C) 2012 University of Karlsruhe.
4  */
5
6 /**
7  * @file
8  * @brief     Various irnode constructors.  Automatic construction
9  *            of SSA representation. Private Header
10  * @author    Martin Trapp, Christian Schaefer, Michael Beck
11  */
12 #ifndef FIRM_IR_IRCONS_T_H
13 #define FIRM_IR_IRCONS_T_H
14
15 #include "ircons.h"
16 #include "irgraph_t.h"
17
18 /**
19  * Creates a new Anchor node.
20  */
21 ir_node *new_r_Anchor(ir_graph *irg);
22
23 /** create new block node without immediately optimizing it.
24  * This is an internal helper function for new_ir_graph() */
25 ir_node *new_r_Block_noopt(ir_graph *irg, int arity, ir_node *in[]);
26
27 /**
28  * Allocate a frag array for a node if the current graph state is phase_building.
29  *
30  * @param irn         the node for which the frag array should be allocated
31  * @param op          the opcode of the (original) node, if does not match opcode of irn,
32  *                    nothing is done
33  * @param frag_store  the address of the frag store in irn attributes, if this
34  *                    address contains a value != NULL, does nothing
35  */
36 void firm_alloc_frag_arr(ir_node *irn, ir_op *op, ir_node ***frag_store);
37
38 /**
39  * Restarts SSA construction on the given graph with n_loc
40  * new values.
41  *
42  * @param irg    the graph on which the SSA construction is restarted
43  * @param n_loc  number of new variables
44  *
45  * After this function is complete, the graph is in phase_building
46  * again and set_value()/get_value() and mature_block() can be used
47  * to construct new values.
48  *
49  * @note do not use get_mem()/set_mem() they will build a new memory
50  *       instead of modifying the old one which might be not what you expect...
51  */
52 void ssa_cons_start(ir_graph *irg, int n_loc);
53
54 /**
55  * Finalize the (restarted) SSA construction. Matures all blocks that are
56  * not matured yet and reset the graph state to phase_high.
57  *
58  * @param irg    the graph on which the SSA construction was restarted
59  */
60 void ssa_cons_finish(ir_graph *irg);
61
62 #endif