/* Get the mode-enum modecode */
inline modecode get_irn_modecode (ir_node *node);
/* Get the ident for a string representation of the mode */
/* Get the mode-enum modecode */
inline modecode get_irn_modecode (ir_node *node);
/* Get the ident for a string representation of the mode */
/* Access the opcode struct of the node */
inline ir_op *get_irn_op (ir_node *node);
inline void set_irn_op (ir_node *node, ir_op *op);
/* Get the opcode-enum of the node */
inline opcode get_irn_opcode (ir_node *node);
/* Get the ident for a string representation of the opcode */
/* Access the opcode struct of the node */
inline ir_op *get_irn_op (ir_node *node);
inline void set_irn_op (ir_node *node, ir_op *op);
/* Get the opcode-enum of the node */
inline opcode get_irn_opcode (ir_node *node);
/* Get the ident for a string representation of the opcode */
inline void set_irn_visited (ir_node *node, unsigned long visited);
inline unsigned long get_irn_visited (ir_node *node);
inline void set_irn_link (ir_node *node, ir_node *link);
inline void set_irn_visited (ir_node *node, unsigned long visited);
inline unsigned long get_irn_visited (ir_node *node);
inline void set_irn_link (ir_node *node, ir_node *link);
inline void set_nodes_Block (ir_node *node, ir_node *block);
/* Projection numbers for result of Start node: use for Proj nodes! */
inline void set_nodes_Block (ir_node *node, ir_node *block);
/* Projection numbers for result of Start node: use for Proj nodes! */
pns_initial_exec, /* Projection on an executable, the initial control
flow. */
pns_global_store, /* Projection on the global store */
pns_initial_exec, /* Projection on an executable, the initial control
flow. */
pns_global_store, /* Projection on the global store */
} symconst_kind;
typedef union type_or_id * type_or_id_p;
inline symconst_kind get_SymConst_kind (ir_node *node);
inline void set_SymConst_kind (ir_node *node, symconst_kind num);
} symconst_kind;
typedef union type_or_id * type_or_id_p;
inline symconst_kind get_SymConst_kind (ir_node *node);
inline void set_SymConst_kind (ir_node *node, symconst_kind num);
inline type *get_SymConst_type (ir_node *node);
inline void set_SymConst_type (ir_node *node, type *type);
inline type *get_SymConst_type (ir_node *node);
inline void set_SymConst_type (ir_node *node, type *type);
inline ident *get_SymConst_ptrinfo (ir_node *node);
inline void set_SymConst_ptrinfo (ir_node *node, ident *ptrinfo);
inline ident *get_SymConst_ptrinfo (ir_node *node);
inline void set_SymConst_ptrinfo (ir_node *node, ident *ptrinfo);
+/* Sets both: type and ptrinfo. Needed to treat the node independent of
+ its semantics. Does a memcpy for the memory tori points to. */
+inline type_or_id_p get_SymConst_type_or_id (ir_node *node);
+inline void set_SymConst_type_or_id (ir_node *node, type_or_id_p tori);
inline ir_node *get_Sel_mem (ir_node *node);
inline void set_Sel_mem (ir_node *node, ir_node *mem);
inline ir_node *get_Sel_mem (ir_node *node);
inline void set_Sel_mem (ir_node *node, ir_node *mem);
inline ir_node *get_Call_ptr (ir_node *node);
inline void set_Call_ptr (ir_node *node, ir_node *ptr);
inline ir_node **get_Call_param_arr (ir_node *node);
inline ir_node *get_Call_ptr (ir_node *node);
inline void set_Call_ptr (ir_node *node, ir_node *ptr);
inline ir_node **get_Call_param_arr (ir_node *node);
inline int get_Call_arity (ir_node *node);
/* inline void set_Call_arity (ir_node *node, ir_node *arity); */
inline ir_node *get_Call_param (ir_node *node, int pos);
inline int get_Call_arity (ir_node *node);
/* inline void set_Call_arity (ir_node *node, ir_node *arity); */
inline ir_node *get_Call_param (ir_node *node, int pos);
inline void set_Not_op (ir_node *node, ir_node *op);
/* Projection numbers of compare: use for Proj nodes! */
inline void set_Not_op (ir_node *node, ir_node *op);
/* Projection numbers of compare: use for Proj nodes! */
#define DDMSG printf("%s(l.%i)\n", __FUNCTION__, __LINE__)
#define DDMSG1(X) printf("%s(l.%i) %s\n", __FUNCTION__, __LINE__, \
#define DDMSG printf("%s(l.%i)\n", __FUNCTION__, __LINE__)
#define DDMSG1(X) printf("%s(l.%i) %s\n", __FUNCTION__, __LINE__, \
#define DDMSG2(X) printf("%s(l.%i) %s: %ld\n", __FUNCTION__, __LINE__, \
#define DDMSG2(X) printf("%s(l.%i) %s: %ld\n", __FUNCTION__, __LINE__, \
#define DDMSG3(X) printf("%s(l.%i) %s: %p\n", __FUNCTION__, __LINE__, \
print_firm_kind(X), (X))
#define DDMSG3(X) printf("%s(l.%i) %s: %p\n", __FUNCTION__, __LINE__, \
print_firm_kind(X), (X))