Commit 655778e8 authored by Götz Lindenmaier's avatar Götz Lindenmaier
Browse files

all rd functions commented

[r3043]
parent 2ddf7bbc
......@@ -71,7 +71,7 @@
* *frame The ir_node producing the pointer to the stack frame of
* the procedure as output. This is the Proj node on the
* third output of the start node. This output of the start
* node is tagged as pns_frame_base. In FIRM most lokal
* node is tagged as pns_frame_base. In FIRM most lokal
* variables are modeled as data flow edges. Static
* allocated arrays can not be represented as dataflow
* edges. Therefore FIRM has to represent them in the stack
......@@ -129,7 +129,7 @@
*
* + types ==> implemented in type.h
* With types type information is represented. There are several type
* nodes.
* nodes.
*
* Implementation of the FIRM operations: ir_node
* ----------------------------------------------
......@@ -171,7 +171,7 @@
* one statically allocated struct ir_op for each opcode.
*
* *mode The ir_mode of the operation represented by this firm
* node. The mode of the operation is the mode of it's
* node. The mode of the operation is the mode of it's
* result. A Firm mode is a datatype as known to the target,
* not a type of the source language.
*
......@@ -202,7 +202,7 @@
* ================
*
* current_ir_graph Points to the current ir_graph. All constructors for
* nodes add nodes to this graph.
* nodes add nodes to this graph.
*
* ir_visited An int used as flag to traverse the ir_graph.
*
......@@ -473,7 +473,7 @@
*
* Mature_block also fixes the number of inputs to the Phi nodes. Mature_block
* should be called as early as possible, as afterwards the generation of Phi
* nodes is more efficient.
* nodes is more efficient.
*
* Inputs:
* There is an input for each control flow predecessor of the block.
......@@ -517,7 +517,7 @@
* -------------------------
*
* Creates a start node. Not actually needed public. There is only one such
* node in each procedure which is automatically created by new_ir_graph.
* node in each procedure which is automatically created by new_ir_graph.
*
* Inputs:
* No inputs except the block it belogns to.
......@@ -539,7 +539,7 @@
* -----------------------
*
* Creates an end node. Not actually needed public. There is only one such
* node in each procedure which is automatically created by new_ir_graph.
* node in each procedure which is automatically created by new_ir_graph.
*
* Inputs:
* No inputs except the block it belongs to.
......@@ -625,13 +625,13 @@
* attr.con A tarval* pointer to the proper entry in the constant
* table.
*
* ir_node *new_SymConst (type *tp, symconst_kind kind)
* ir_node *new_SymConst (type *tp, symconst_addr_ent kind)
* ------------------------------------------------------------
*
* There are three kinds of symbolic constants:
* type_tag The symbolic constant represents a type tag.
* size The symbolic constant represents the size of a class.
* link_info Information for the linker, e.g. the name of a global
* symconst_type_tag The symbolic constant represents a type tag.
* symconst_size The symbolic constant represents the size of a class.
* symconst_addr_name Information for the linker, e.g. the name of a global
* variable.
* To represent a pointer to an entity that is represented by an entity
* datastructure don't use
......@@ -653,11 +653,11 @@
* An unsigned integer (I_u) or a pointer (P).
*
* Attributes:
* attr.i.num The symconst_kind, i.e. one of
* - type_tag
* - size
* - linkage_ptr_info
* If the attr.i.num is type_tag or size, the node contains an attribute
* attr.i.num The symconst_addr_ent, i.e. one of
* -symconst_type_tag
* -symconst_size
* - symconst_addr_name
* If the attr.i.num is symconst_type_tag or symconst_size, the node contains an attribute
* attr.i.*type, a pointer to a type_class. The mode of the node is mode_Is.
* if it is linkage_ptr_info it contains
* attr.i.*ptrinfo, an ident holding information for the linker. The mode
......@@ -748,7 +748,7 @@
* -----------------------------------------------------------------------------------
*
* Creates a procedure call to a function WITHOUT memory side effects.
* Nodes of this kind are floating in contrast to Call nodes.
* nodes of this kind are floating in contrast to Call nodes.
* Further, a procedure call with FuncCall cannot raise an exception!
*
* Parameters
......@@ -1056,7 +1056,7 @@
* replaced by the Tuple operation so that the following Proj nodes have not to
* be changed. (They are hard to find due to the implementation with pointers
* in only one direction.) The Tuple node is smaller than any other
* node, so that a node can be changed into a Tuple by just changing it's
* node, so that a node can be changed into a Tuple by just changing it's
* opcode and giving it a new in array.
*
* Parameters
......@@ -1131,7 +1131,7 @@
*
* Keep this node alive because it is (might be) not in the control
* flow from Start to End. Adds the node to the list in the end
* node.
* node.
*
*/
......@@ -1152,17 +1152,13 @@
/* The raw interface */
/*-------------------------------------------------------------------------*/
/* Constructs a Block with a fixed number of predecessors.
Does not set current_block. Can not be used with automatic
Phi node construction. */
/** Constructor for a Block node.
*
* Constructor for a Block node. Constructs a mature block with the given
* predecessors. Use Unknown nodes as predecessors to constuct a block
* if the number of predecessors is known, but not the predecessors themselves.
* This constructor does not set current_block. It not be used with automatic
* Phi node construction.
* Constructs a mature block with the given predecessors. Use Unknown
* nodes as predecessors to constuct a block if the number of
* predecessors is known, but not the predecessors themselves. This
* constructor does not set current_block. It not be used with
* automatic Phi node construction.
*
* @param *db A Pointer for debug information.
* @param irg The ir graph the block belongs to.
......@@ -1173,57 +1169,64 @@
ir_node *new_rd_Block (dbg_info *db, ir_graph *irg, int arity, ir_node *in[]);
/** Constructor for a Start node.
*
* Constructor for a Start node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
*
*/
ir_node *new_rd_Start (dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a End node.
*
* Constructor for a End node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
*
*/
ir_node *new_rd_End (dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a Jmp node.
*
* Constructor for a Jmp node. Jmp represents control flow to a single \
* control successor.
* Jmp represents control flow to a single control successor.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
*
*/
ir_node *new_rd_Jmp (dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a Cond node.
/** Constructor for a Break node.
*
* Constructor for a Cond node. If c is mode_b represents a conditional
* branch (if/else). If c is mode_Is represents a switch. (Allocates dense
* Cond node, default Proj is 0.)
* Break represents control flow to a single control successor just as Jmp.
* The blocks separated by a break may not be concatenated by an optimization.
* It is used for the interprocedural representation where blocks are parted
* behind Call nodes to represent the control flow to called procedures.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belong to.
* @param *block The block the node belong to.
*/
ir_node *new_rd_Break (dbg_info *db, ir_graph *irg, ir_node *block);
/** Constructor for a Cond node.
*
* If c is mode_b represents a conditional branch (if/else). If c is
* mode_Is/mode_Iu (?) represents a switch. (Allocates dense Cond
* node, default Proj is 0.)
*
* This is not consistent: Input to Cond is Is, Proj has as proj number
* longs.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
* @param *c The conditions parameter. Can be of mode b or I_u.
*
*/
ir_node *new_rd_Cond (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *c);
/** Constructor for a Return node.
*
* Constructor for a Return node. Returns the memory an zero or
* more return values. Only node that can end regular control flow.
* Returns the memory an zero or more return values. Only node that
* can end regular control flow.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1236,8 +1239,6 @@ ir_node *new_rd_Return (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *store, int arity, ir_node *in[]);
/** Constructor for a Raise node.
*
* Constructor for a Raise node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1246,13 +1247,12 @@ ir_node *new_rd_Return (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *obj A pointer to the Except variable.
*/
ir_node *new_rd_Raise (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *store, ir_node *obj);
ir_node *store, ir_node *obj);
/** Constructor for a Const node.
*
* Constructor for a Const node. The constant represents a target value.
* This constructor sets high level type information for the
* constant value.
* The constant represents a target value. This constructor sets high
* level type information for the constant value.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1264,11 +1264,11 @@ ir_node *new_rd_Raise (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Const_type (dbg_info* db, ir_graph *irg, ir_node *block,
ir_mode *mode, tarval *con, type *tp);
/** Constructor for a Const node.
/** Constructor for a Const node.
*
* Constructor for a Const node. The constant represents a target value.
* Sets the type information to type_unknown. (No more supported: If
* tv is entity derives a somehow useful type.)
* Constructor for a Const node. The constant represents a target
* value. Sets the type information to type_unknown. (No more
* supported: If tv is entity derives a somehow useful type.)
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1276,7 +1276,6 @@ ir_node *new_rd_Const_type (dbg_info* db, ir_graph *irg, ir_node *block,
* @param *mode The mode of the operands and redults.
* @param *con Points to an entry in the constant table.
*/
ir_node *new_rd_Const (dbg_info *db, ir_graph *irg, ir_node *block,
ir_mode *mode, tarval *con);
......@@ -1284,15 +1283,15 @@ ir_node *new_rd_Const (dbg_info *db, ir_graph *irg, ir_node *block,
*
* This is the constructor for a symbolic constant.
* There are four kinds of symbolic constants:
* type_tag The symbolic constant represents a type tag. The type the
* - type_tag The symbolic constant represents a type tag. The type the
* tag stands for is given explicitly.
* size The symbolic constant represents the size of a type. The
* - size The symbolic constant represents the size of a type. The
* type of which the constant represents the size is given
* explicitly.
* addr_name The symbolic constant represents the address of an entity
* - addr_name The symbolic constant represents the address of an entity
* (variable or method). The variable is indicated by a name
* that is valid for linking.
* addr_ent The symbolic constant represents the address of an entity
* - addr_ent The symbolic constant represents the address of an entity
* (variable or method). The variable is given explicitly by
* a firm entity.
*
......@@ -1312,11 +1311,11 @@ ir_node *new_rd_SymConst (dbg_info *db, ir_graph *irg, ir_node *block,
/** Constructor for a Sel node.
*
* Constructor for a Sel node. The select node selects an entity (field or method)
* from an entity with a compound type. It explicitly specifies the entity selected.
* Dynamically the node may select entities that overwrite the given entity. If the
* selected entity is an array element entity the Sel node takes the required array
* indicees as inputs.
* The select node selects an entity (field or method) from an entity
* with a compound type. It explicitly specifies the entity selected.
* Dynamically the node may select entities that overwrite the given
* entity. If the selected entity is an array element entity the Sel
* node takes the required array indicees as inputs.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1329,14 +1328,13 @@ ir_node *new_rd_SymConst (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *index[] If the compound entity is an array the indicees of the selected
* element entity. The constructor copies this array.
* @param *ent The entity to select.
*
*/
ir_node *new_rd_Sel (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
ir_node *objptr, int n_index, ir_node *index[], entity *ent);
/**
* Constructor for a InstOf node. For translating Java. Not supported as standard
* firm node.
/** Constructor for a InstOf node.
*
* For translating Java. Not supported as standard firm node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1347,8 +1345,9 @@ ir_node *new_rd_Sel (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *st
*/
ir_node *new_rd_InstOf (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store, ir_node *objptr, type *ent);
/**
* Constructor for a Call node.
/** Constructor for a Call node.
*
* Represents all kinds of method and function calls.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1362,8 +1361,25 @@ ir_node *new_rd_InstOf (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *st
ir_node *new_rd_Call (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
ir_node *callee, int arity, ir_node *in[], type *tp);
/**
* Constructor for a Add node.
/** Constructor for a FuncCall node.
*
* FuncCall is a function Call that has no side effects. Therefore there
* is not memory operand or result.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belong to.
* @param *block The block the node belong to.
* @param *callee A pointer to the called procedure.
* @param arity The number of procedure parameters.
* @param *in[] An array with the pointers to the parameters. The constructor
* copies this array. The constructor copies this array.
* @param *tp Type information of the procedure called.
*/
ir_node *new_rd_FuncCall (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *callee, int arity, ir_node *in[],
type *tp);
/** Constructor for a Add node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1375,8 +1391,7 @@ ir_node *new_rd_Call (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *st
ir_node *new_rd_Add (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Sub node.
/** Constructor for a Sub node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1388,8 +1403,7 @@ ir_node *new_rd_Add (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Sub (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Minus node.
/** Constructor for a Minus node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1400,8 +1414,7 @@ ir_node *new_rd_Sub (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Minus (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode);
/**
* Constructor for a Mul node.
/** Constructor for a Mul node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1413,8 +1426,7 @@ ir_node *new_rd_Minus (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Mul (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Quot node.
/** Constructor for a Quot node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1426,8 +1438,7 @@ ir_node *new_rd_Mul (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Quot (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *memop, ir_node *op1, ir_node *op2);
/**
* Constructor for a DivMod node.
/** Constructor for a DivMod node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1439,8 +1450,7 @@ ir_node *new_rd_Quot (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_DivMod (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *memop, ir_node *op1, ir_node *op2);
/**
* Constructor for a Div node.
/** Constructor for a Div node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1452,8 +1462,7 @@ ir_node *new_rd_DivMod (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Div (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *memop, ir_node *op1, ir_node *op2);
/**
* Constructor for a Mod node.
/** Constructor for a Mod node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1465,8 +1474,7 @@ ir_node *new_rd_Div (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Mod (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *memop, ir_node *op1, ir_node *op2);
/**
* Constructor for a Abs node.
/** Constructor for a Abs node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1477,8 +1485,7 @@ ir_node *new_rd_Mod (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Abs (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode);
/**
* Constructor for a And node.
/** Constructor for a And node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1490,8 +1497,7 @@ ir_node *new_rd_Abs (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_And (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Or node.
/** Constructor for a Or node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1503,8 +1509,7 @@ ir_node *new_rd_And (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Or (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Eor node.
/** Constructor for a Eor node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1516,34 +1521,29 @@ ir_node *new_rd_Or (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Eor (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2, ir_mode *mode);
/**
* Constructor for a Not node.
/** Constructor for a Not node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
* @param *op The operand.
* @param *mode The mode of the operand and the result.
*
*/
ir_node *new_rd_Not (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode);
/**
* Constructor for a Cmp node.
/** Constructor for a Cmp node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
* @param *op1 The operand 1.
* @param *op2 The operand 2.
*
*/
ir_node *new_rd_Cmp (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op1, ir_node *op2);
/**
* Constructor for a Shl node.
/** Constructor for a Shl node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1551,14 +1551,11 @@ ir_node *new_rd_Cmp (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *op The operand.
* @param *k The number of bits to shift the operand .
* @param *mode The mode of the operand and the result.
*
*/
ir_node *new_rd_Shl (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_node *k, ir_mode *mode);
/**
* Constructor for a Shr node.
/** Constructor for a Shr node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1566,14 +1563,11 @@ ir_node *new_rd_Shl (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *op The operand.
* @param *k The number of bits to shift the operand .
* @param *mode The mode of the operand and the result.
*
*/
ir_node *new_rd_Shr (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_node *k, ir_mode *mode);
/**
* Constructor for a Shrs node.
/** Constructor for a Shrs node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1581,14 +1575,11 @@ ir_node *new_rd_Shr (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *op The operand.
* @param *k The number of bits to shift the operand.
* @param *mode The mode of the operand and the result.
*
*/
ir_node *new_rd_Shrs (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_node *k, ir_mode *mode);
/**
* Constructor for a Rot node.
/** Constructor for a Rot node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1596,29 +1587,25 @@ ir_node *new_rd_Shrs (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *op The operand.
* @param *k The number of bits to rotate the operand.
* @param *mode The mode of the operand.
*
*/
ir_node *new_rd_Rot (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_node *k, ir_mode *mode);
/**
* Constructor for a Conv node.
/** Constructor for a Conv node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
* @param *op The operand.
* @param *mode The mode of this the operand muss be converted .
*
*/
ir_node *new_rd_Conv (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *op, ir_mode *mode);
/**
* Constructor for a Cast node. High level type cast.
/** Constructor for a Cast node.
*
* High level type cast.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1629,10 +1616,9 @@ ir_node *new_rd_Conv (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Cast (dbg_info* db, ir_graph *irg, ir_node *block,
ir_node *op, type *to_tp);
/**
* Constructor for a Phi node.
/** Constructor for a Phi node.
*
* @param *db A pointer for debugginaromation.
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
* @param *block The ir block the node belongs to.
* @param arity The number of predecessors
......@@ -1642,8 +1628,7 @@ ir_node *new_rd_Cast (dbg_info* db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Phi (dbg_info *db, ir_graph *irg, ir_node *block, int arity,
ir_node *in[], ir_mode *mode);
/**
* Constructor for a Load node.
/** Constructor for a Load node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1654,8 +1639,7 @@ ir_node *new_rd_Phi (dbg_info *db, ir_graph *irg, ir_node *block, int arity,
ir_node *new_rd_Load (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *store, ir_node *adr);
/**
* Constructor for a Store node.
/** Constructor for a Store node.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1667,8 +1651,9 @@ ir_node *new_rd_Load (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *new_rd_Store (dbg_info *db, ir_graph *irg, ir_node *block,
ir_node *store, ir_node *adr, ir_node *val);
/**
* Constructor for a Alloc node.
/** Constructor for a Alloc node.
*
* The Alloc node extends the memory by space for an entity of type alloc_type.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1677,16 +1662,14 @@ ir_node *new_rd_Store (dbg_info *db, ir_graph *irg, ir_node *block,
* @param *size The number of bytes to allocate.
* @param *alloc_type The type of the allocated variable.
* @param where Where to allocate the variable, either heap_alloc or stack_alloc.
*
*/
ir_node *new_rd_Alloc (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,
ir_node *size, type *alloc_type, where_alloc where);
/** Constructor for a Free node.
*
* Constructor for a Free node. Frees the memory occupied by the
* entity pointed to by the pointer arg. Type indicates the type of
* the entity the argument points to.
* Frees the memory occupied by the entity pointed to by the pointer
* arg. Type indicates the type of the entity the argument points to.
*
* @param *db A pointer for debug information.
* @param *irg The ir graph the node belongs to.
......@@ -1695,16 +1678,15 @@ ir_node *new_rd_Alloc (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *st
* @param *ptr The pointer to the object to free.
* @param *size The number of objects of type free_type to free in a sequence.
* @param *free_type The type of the freed variable.
*
*/
ir_node *new_rd_Free (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *store,