/** 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 */
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
* of nodes, it's just a big graph.
*/
+/**
+ * Checks whether a pointer points to a ir node.
+ *
+ * @param thing an arbitrary pointer
+ *
+ * @return
+ * true if the thing is a ir mode, else false
+ */
+int
+is_ir_node (void *thing);
+
/** returns the number of predecessors without the block predecessor: */
int get_irn_arity (const ir_node *node);
/* 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. */
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 */
/* !!!!!!!!! @@@
Don't format with "\", firmjni gets problems */
/** Output location */
-#define DDM(X) printf("%s(l.%i).\n", __MYFUNC__, __LINE__);
+#define DDM 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 */
/** Output information about a type */
#define DDMT(X) printf("%s(l.%i) %s %s: %ld (%p)\n", __MYFUNC__, __LINE__, get_type_tpop_name(X), get_type_name(X), get_type_nr(X), (X))
/** Output information about an entity */
-#define DDME(X) printf("%s(l.%i) %s: %ld (%p\n", __MYFUNC__, __LINE__, get_entity_name(X), get_entity_nr(X), (X))
+#define DDME(X) printf("%s(l.%i) %s: %ld (%p)\n", __MYFUNC__, __LINE__, get_entity_name(X), get_entity_nr(X), (X))
/** Output information about an entity and its owner */
#define DDMEO(X) printf("%s(l.%i) %s (own: %s): %ld (%p)\n", __MYFUNC__, __LINE__, get_entity_name(X), get_type_name(get_entity_owner(X)), get_entity_nr(X), (X))
/** Output information about a graph */