s/irn_not_visited(x)/!irn_visited(x)/.
[libfirm] / include / libfirm / ircons.h
index b15048d..8b66787 100644 (file)
  *    set_cur_block(block).  If several blocks are constructed in parallel block
  *    switches need to be performed constantly.
  *
- *    To generate a Block node (with the comfortable interface) it's predecessor
+ *    To generate a Block node (with the comfortable interface), its predecessor
  *    control flow nodes need not be known.  In case of cyclic control flow these
  *    can not be known when the block is constructed.  With add_immBlock_pred(block,
  *    cfnode) predecessors can be added to the block.  If all predecessors are
  *    ir_node *new_Shl    (ir_node *op,  ir_node *k,   ir_mode *mode);
  *    ir_node *new_Shr    (ir_node *op,  ir_node *k,   ir_mode *mode);
  *    ir_node *new_Shrs   (ir_node *op,  ir_node *k,   ir_mode *mode);
- *    ir_node *new_Rot    (ir_node *op,  ir_node *k,   ir_mode *mode);
+ *    ir_node *new_Rotl   (ir_node *op,  ir_node *k,   ir_mode *mode);
  *    ir_node *new_Cmp    (ir_node *op1, ir_node *op2);
  *    ir_node *new_Conv   (ir_node *op, ir_mode *mode);
  *    ir_node *new_Cast   (ir_node *op, ir_type *to_tp);
  *    ir_node *new_Proj   (ir_node *arg, ir_mode *mode, long proj);
  *    ir_node *new_NoMem  (void);
  *    ir_node *new_Mux    (ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode);
- *    ir_node *new_Psi    (int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode);
  *    ir_node *new_CopyB  (ir_node *store, ir_node *dst, ir_node *src, ir_type *data_type);
  *    ir_node *new_InstOf (ir_node *store, ir_node obj, ir_type *ent);
  *    ir_node *new_Raise  (ir_node *store, ir_node *obj);
  *
  *    Arithmetic shift right, i.e., sign extended.
  *
- *    ir_node *new_Rot (ir_node *op, ir_node *k, ir_mode *mode)
+ *    ir_node *new_Rotl (ir_node *op, ir_node *k, ir_mode *mode)
  *    ---------------------------------------------------------
  *
- *    Rotates the operand to the (right?) by k bits.
+ *    Rotates the operand to the left by k bits.
  *
  *    ir_node *new_Carry (ir_node *op1, ir_node *op2, ir_mode *mode)
  *    ------------------------------------------------------------
  *    ir_true, else ir_false;
  *
  *
- *    ir_node *new_Psi (int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode)
- *    -----------------------------------------------------------------------------
- *
- *    Creates a Psi node. This node implements the following semantic:
- *    Enter it here!!!
- *
  *
  *    OPERATIONS TO MANAGE MEMORY EXPLICITLY
  *    --------------------------------------
@@ -1216,7 +1209,7 @@ ir_node *new_rd_Cond   (dbg_info *db, ir_graph *irg, ir_node *block, ir_node *c)
 
 /** Constructor for a Return node.
  *
- * Returns the memory an zero or more return values.  Only node that
+ * Returns the memory and zero or more return values.  Only node that
  * can end regular control flow.
  *
  * @param *db    A pointer for debug information.
@@ -1648,7 +1641,7 @@ ir_node *new_rd_Shr    (dbg_info *db, ir_graph *irg, ir_node *block,
 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 Rotl node.
  *
  * @param   *db    A pointer for debug information.
  * @param   *irg   The IR graph the node  belongs to.
@@ -1657,7 +1650,7 @@ ir_node *new_rd_Shrs   (dbg_info *db, ir_graph *irg, ir_node *block,
  * @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 *new_rd_Rotl    (dbg_info *db, ir_graph *irg, ir_node *block,
                ir_node *op, ir_node *k, ir_mode *mode);
 
 
@@ -1961,19 +1954,6 @@ ir_node *new_rd_NoMem  (ir_graph *irg);
 ir_node *new_rd_Mux  (dbg_info *db, ir_graph *irg, ir_node *block,
     ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode);
 
-/** Constructor for a Psi node.
- *
- * @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 *arity    The arity of the conditions
- * @param *conds    The array of mode_b conditions, length must be equal arity
- * @param *vals     The array of mode values, length must be equal arity + 1
- * @param *mode     The mode of the node (must be the mode of all vals).
- */
-ir_node *new_rd_Psi (dbg_info *db, ir_graph *irg, ir_node *block,
-                     int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode);
-
 /** Constructor for a CopyB node.
  *
  * @param *db         A pointer for debug information.
@@ -2129,7 +2109,7 @@ ir_node *new_r_Cond   (ir_graph *irg, ir_node *block, ir_node *c);
 
 /** Constructor for a Return node.
  *
- * Returns the memory an zero or more return values.  Only node that
+ * Returns the memory and zero or more return values.  Only node that
  * can end regular control flow.
  *
  * @param *irg   The IR graph the node  belongs to.
@@ -2486,7 +2466,7 @@ ir_node *new_r_Shr    (ir_graph *irg, ir_node *block,
 ir_node *new_r_Shrs   (ir_graph *irg, ir_node *block,
                ir_node *op, ir_node *k, ir_mode *mode);
 
-/** Constructor for a Rot node.
+/** Constructor for a Rotl node.
  *
  * @param   *irg   The IR graph the node  belongs to.
  * @param   *block The IR block the node belongs to.
@@ -2494,7 +2474,7 @@ ir_node *new_r_Shrs   (ir_graph *irg, ir_node *block,
  * @param   *k     The number of bits to rotate the operand.
  * @param   *mode  The mode of the operand.
  */
-ir_node *new_r_Rot    (ir_graph *irg, ir_node *block,
+ir_node *new_r_Rotl   (ir_graph *irg, ir_node *block,
                ir_node *op, ir_node *k, ir_mode *mode);
 
 /** Constructor for a Conv node.
@@ -2791,18 +2771,6 @@ ir_node *new_r_NoMem  (ir_graph *irg);
 ir_node *new_r_Mux  (ir_graph *irg, ir_node *block,
     ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode);
 
-/** Constructor for a Psi node.
- *
- * @param *irg      The IR graph the node belong to.
- * @param *block    The block the node belong to.
- * @param *arity    The arity of the conditions
- * @param *conds    The array of mode_b conditions, length must be equal arity
- * @param *vals     The array of mode values, length must be equal arity + 1
- * @param *mode     The mode of the node (must be the mode of all vals).
- */
-ir_node *new_r_Psi (ir_graph *irg, ir_node *block,
-                    int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode);
-
 /** Constructor for a CopyB node.
  *
  * @param *irg        The IR graph the node belong to.
@@ -2970,7 +2938,7 @@ ir_node *new_d_Cond   (dbg_info *db, ir_node *c);
  *
  * Adds the node to the block in current_ir_block.
  *
- * Returns the memory an zero or more return values.  Only node that
+ * Returns the memory and zero or more return values.  Only node that
  * can end regular control flow.
  *
  * @param *db    A pointer for debug information.
@@ -3306,7 +3274,7 @@ ir_node *new_d_Shr    (dbg_info *db, ir_node *op,  ir_node *k,   ir_mode *mode);
  */
 ir_node *new_d_Shrs   (dbg_info *db, ir_node *op,  ir_node *k,   ir_mode *mode);
 
-/** Constructor for a Rot node.
+/** Constructor for a Rotl node.
  *
  * Adds the node to the block in current_ir_block.
  *
@@ -3315,7 +3283,7 @@ ir_node *new_d_Shrs   (dbg_info *db, ir_node *op,  ir_node *k,   ir_mode *mode);
  * @param   *k     The number of bits to rotate the operand.
  * @param   *mode  The mode of the operand.
  */
-ir_node *new_d_Rot    (dbg_info *db, ir_node *op,  ir_node *k,   ir_mode *mode);
+ir_node *new_d_Rotl   (dbg_info *db, ir_node *op,  ir_node *k,   ir_mode *mode);
 
 /** Constructor for a Cmp node.
  *
@@ -3616,17 +3584,6 @@ ir_node *new_d_NoMem  (void);
 ir_node *new_d_Mux  (dbg_info *db, ir_node *sel,
     ir_node *ir_false, ir_node *ir_true, ir_mode *mode);
 
-/** Constructor for a Psi node.
- *
- * @param *db       A pointer for debug information.
- * @param *arity    The arity of the conditions
- * @param *conds    The array of mode_b conditions, length must be equal arity
- * @param *vals     The array of mode values, length must be equal arity + 1
- * @param *mode     The mode of the node (must be the mode of all vals).
- */
-ir_node *new_d_Psi (dbg_info *db,
-                    int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode);
-
 /** Constructor for a CopyB node.
  *
  * @param *db         A pointer for debug information.
@@ -3783,7 +3740,7 @@ ir_node *new_Cond   (ir_node *c);
 
 /** Constructor for a Return node.
  *
- * Returns the memory an zero or more return values.  Only node that
+ * Returns the memory and zero or more return values.  Only node that
  * can end regular control flow. Adds the node to the block in current_ir_block.
  *
  * @param *store The state of memory.
@@ -4128,7 +4085,7 @@ ir_node *new_Shr    (ir_node *op,  ir_node *k,   ir_mode *mode);
  */
 ir_node *new_Shrs   (ir_node *op,  ir_node *k,   ir_mode *mode);
 
-/** Constructor for a Rot node.
+/** Constructor for a Rotl node.
  *
  * Adds the node to the block in current_ir_block.
  *
@@ -4136,7 +4093,7 @@ ir_node *new_Shrs   (ir_node *op,  ir_node *k,   ir_mode *mode);
  * @param   *k     The number of bits to rotate the operand.
  * @param   *mode  The mode of the operand.
  */
-ir_node *new_Rot    (ir_node *op,  ir_node *k,   ir_mode *mode);
+ir_node *new_Rotl   (ir_node *op,  ir_node *k,   ir_mode *mode);
 
 /** Constructor for a Cmp node.
  *
@@ -4370,15 +4327,6 @@ ir_node *new_NoMem  (void);
  */
 ir_node *new_Mux  (ir_node *sel, ir_node *ir_false, ir_node *ir_true, ir_mode *mode);
 
-/** Constructor for a Psi node.
- *
- * @param *arity    The arity of the conditions
- * @param *conds    The array of mode_b conditions, length must be equal arity
- * @param *vals     The array of mode values, length must be equal arity + 1
- * @param *mode     The mode of the node (must be the mode of all vals).
- */
-ir_node *new_Psi (int arity, ir_node *conds[], ir_node *vals[], ir_mode *mode);
-
 /** Constructor for a CopyB node.
  *
  * Adds the node to the block in current_ir_block.