end block can not be optimized away any more.
[libfirm] / ir / ir / ircons.h
index 75150fa..5409d0d 100644 (file)
  it is always unambiguous.
 **/
 
-/**
-***  IRCONS
+/****h* libfirm/ircons
+ *
+ * NAME
+ *   file ircons.h
+ *
+ * NOTES
 
   This file documents all datatypes and constructors needed to
   build a FIRM representation of a pocedure.  The constructors are
                       - size
                      - linkage_ptr_info
       If the attr.i.num is type_tag or size, the node contains an attribute
-    attr.i.*type     A pointer to a type_class.
+    attr.i.*type,    a pointer to a type_class.  The mode of the node is mode_i.
       if it is linkage_ptr_info it contains
-    attr.i.*ptrinfo  An ident holding information for the linker.
+    attr.i.*ptrinfo,  an ident holding information for the linker.  The mode
+      of the node is mode_p.
 
   THE SELECT NODE
   ---------------
   Parameters:
   *store        The current memory.
   *addr         A pointer to the variable to be read in this memory.
-  *mode         The mode of the loaded value.
 
   Inputs:
     The memory and a pointer to a variable in this memory.
   --------------------------------
 
   Returns the node defining the actual store.
-
-**/
+  *****
+  */
 
 
 # ifndef _IRCONS_H_
@@ -1182,18 +1186,10 @@ ir_node *new_r_Bad    ();
    nodes they construct. */
 void switch_block (ir_node *target);
 
-/* Chris: please rename the Block constructor:
-   new_Block to new_immBlock
-   and add a new one so dass das dann so aussieht:
-   passe die Beispeilprogramme an! */
-#if 0
 /* Constructs a Block with a fixed number of predecessors.
    Does set current_block.  Can be used with automatic Phi
    node construction. */
-ir_node *new_Block(int arity, ir_node **in);     /* creates mature Block */
-#else
-ir_node *new_Block  (void);
-#endif
+ir_node *new_Block(int arity, ir_node **in);
 ir_node *new_Start  (void);
 ir_node *new_End    (void);
 ir_node *new_Jmp    (void);
@@ -1259,11 +1255,12 @@ void mature_block (ir_node *block);
 /** Parameter administration **/
 /* Read a value from the array with the local variables.  Use this
    function to obtain the last definition of the value associated with
-   pos. */
+   pos.  Pos may not exceed the value passed as n_loc to new_ir_graph. */
 ir_node *get_value (int pos, ir_mode *mode);
 
 /* Write a value in the array with the local variables. Use this function
-   to remember a new definition of the value associated with pos. */
+   to remember a new definition of the value associated with pos. Pos may
+   not exceed the value passed as n_loc to new_ir_graph. */
 void set_value (int pos, ir_node *value);
 
 /* Read a store.