Added new global var that represents the
[libfirm] / ir / ir / irnode.h
index 1cbde47..79a5ea0 100644 (file)
@@ -9,14 +9,14 @@
 
 /** Projection numbers of compare: use for Proj nodes! */
 typedef enum {
-  False,               /**< false */
+  False = 0,           /**< false */
   Eq,                  /**< equal */
   Lt,                  /**< less */
   Le,                  /**< less or equal */
   Gt,                  /**< greater */
   Ge,                  /**< greater or equal */
   Lg,                  /**< less or greater */
-  Leg,                 /**< less, equal or greater = ordered */
+  Leg = 7,             /**< less, equal or greater = ordered */
   Uo,                  /**< unordered */
   Ue,                  /**< unordered or equal */
   Ul,                  /**< unordered or less */
@@ -24,7 +24,7 @@ typedef enum {
   Ug,                  /**< unordered or greater */
   Uge,                 /**< unordered, greater or equal */
   Ne,                  /**< unordered, less or greater = not equal */
-  True                 /**< true */
+  True = 15            /**< true */
   /* not_mask = Leg*/  /* bits to flip to negate comparison * @@ hack for jni interface */
 } pnc_number;
 #define not_mask Leg
@@ -102,6 +102,8 @@ INLINE void          set_irn_in            (ir_node *node, int arity,
 /* get_irn_n removes Id predecessors. */
 INLINE ir_node      *get_irn_n             (ir_node *node, int n);
 INLINE void          set_irn_n             (ir_node *node, int n, ir_node *in);
+/** Sets the mode struct of node */
+INLINE void set_irn_mode (ir_node *node, ir_mode *mode);
 /** Gets the mode struct. */
 INLINE ir_mode      *get_irn_mode          (const ir_node *node);
 /** Gets the mode-enum modecode. */
@@ -172,7 +174,9 @@ typedef enum {
   pns_frame_base,       /**< Projection on the frame base */
   pns_globals,          /**< Projection on the pointer to the data segment
                           containing _all_ global entities. */
-  pns_args              /**< Projection on all arguments */
+  pns_args,             /**< Projection on all arguments */
+  pns_value_arg_base    /**< Pointer to region of compound value arguments as defined by
+                            type of this method. */
 } pns_number;
 
 /* @@@ no more supported  */
@@ -573,7 +577,8 @@ ir_node *get_fragile_op_mem(ir_node *node);
 
 /* !!!!!!!!! @@@
    Don't format with "\", firmjni gets problems */
-
+/** Output location */
+#define DDM(X)   printf("%s(l.%i).\n",                       __MYFUNC__, __LINE__);
 /** Output the firm kind of the node */
 #define DDMK(X)  printf("%s(l.%i) %s: %p\n",                 __MYFUNC__, __LINE__,  print_firm_kind(X), (X));
 /** Output information about a node */
@@ -592,8 +597,10 @@ ir_node *get_fragile_op_mem(ir_node *node);
 #define DDMI(X)  printf("%s(l.%i) %s: %p\n",                 __MYFUNC__, __LINE__, id_to_str(X), (X))
 /** Output information about a mode */
 #define DDMM(X)  printf("%s(l.%i) %s: %p\n",                 __MYFUNC__, __LINE__, get_mode_name(X), (X))
-/** Output information about a loope */
+/** Output information about a loop */
 #define DDML(X)  printf("%s(l.%i) loop with depth %d: %p\n", __MYFUNC__, __LINE__, get_loop_depth(X), (X))
+/** Output information about a tarVal */
+#define DDMV(X)  printf("%s(l.%i) tarval: ",__MYFUNC__, __LINE__); tarval_printf(X); printf(" (%p)\n", (X));
 
 /*@}*/ /* end of ir_node group definition */