pn_Start_P_tls, /**< Projection on the pointer to the thread local store
segment containing _all_thread local variables. */
pn_Start_T_args, /**< Projection on all arguments. */
- pn_Start_P_value_arg_base, /**< Pointer to region of compound value arguments as defined by
- type of this method. */
pn_Start_max /**< number of projections from a Start */
} pn_Start; /* Projection numbers for Start. */
* from Start. If so returns tls type, else Null. */
ir_type *is_tls_pointer(const ir_node *n);
-/** Test whether arbitrary node is value arg base.
- *
- * Test whether arbitrary node is value arg base, i.e. Proj(pn_Start_P_value_arg_base)
- * from Start. If so returns 1, else 0. */
-int is_value_arg_pointer(const ir_node *n);
-
/* @@@ no more supported */
ir_node **get_Block_cfgpred_arr(ir_node *node);
int get_Block_n_cfgpreds(const ir_node *node);
/** Remove irn from the keep-alive set. */
void remove_End_keepalive(ir_node *end, ir_node *irn);
-/* Remove Bads and doublets from the keep-alive set. */
+/* Remove Bads, NoMem and doublets from the keep-alive set. */
void remove_End_Bads_and_doublets(ir_node *end);
/** Some parts of the End node are allocated separately -- their memory
Proj nodes mean default control flow, i.e., Proj(n). */
} cond_kind;
+/** Gets the string representation of the Cond node kind. */
+const char *get_cond_kind_name(cond_kind kind);
+
ir_node *get_Cond_selector(const ir_node *node);
void set_Cond_selector(ir_node *node, ir_node *selector);
cond_kind get_Cond_kind(const ir_node *node);
void set_Cond_kind(ir_node *node, cond_kind kind);
-long get_Cond_defaultProj(const ir_node *node);
+long get_Cond_default_proj(const ir_node *node);
+void set_Cond_default_proj(ir_node *node, long defproj);
/**
* Projection numbers for conditions.
ir_type *get_Call_type(ir_node *node);
/** Sets the type of a call. */
void set_Call_type(ir_node *node, ir_type *tp);
-/** Gets the arity of a call. Identical to get_Call_n_params(). */
-int get_Call_arity(const ir_node *node);
/**
* Returns non-zero if a Call is surely a self-recursive Call.
void set_Call_callee_arr(ir_node *node, const int n, ir_entity **arr);
void remove_Call_callee_arr(ir_node *node);
+/**
+ * Projection numbers for result of Builtin node: use for Proj nodes!
+ */
+typedef enum {
+ pn_Builtin_M = pn_Generic_M_regular, /**< The memory result. */
+ pn_Builtin_1_result = pn_Generic_other, /**< first result. */
+ pn_Builtin_max /**< number of projections from a Builtin */
+} pn_Builtin; /* Projection numbers for Builtin. */
+
+ir_node *get_Builtin_mem(const ir_node *node);
+void set_Builtin_mem(ir_node *node, ir_node *mem);
+ir_builtin_kind get_Builtin_kind(const ir_node *node);
+void set_Builtin_kind(ir_node *node, ir_builtin_kind kind);
+ir_node **get_Builtin_param_arr(ir_node *node);
+/** Gets the number of parameters of a Builtin. */
+int get_Builtin_n_params(const ir_node *node);
+/** Gets the Builtin parameter at position pos. */
+ir_node *get_Builtin_param(const ir_node *node, int pos);
+/** Sets the Builtin parameter at position pos. */
+void set_Builtin_param(ir_node *node, int pos, ir_node *param);
+/** Gets the type of a builtin. */
+ir_type *get_Builtin_type(ir_node *node);
+/** Sets the type of a Builtin. */
+void set_Builtin_type(ir_node *node, ir_type *tp);
+/** Returns a human readable string for the ir_builtin_kind. */
+const char *get_builtin_kind_name(ir_builtin_kind kind);
+
ir_node *get_CallBegin_ptr(const ir_node *node);
void set_CallBegin_ptr(ir_node *node, ir_node *ptr);
ir_node *get_CallBegin_call(const ir_node *node);
void set_Div_mem(ir_node *node, ir_node *mem);
ir_mode *get_Div_resmode(const ir_node *node);
void set_Div_resmode(ir_node *node, ir_mode *mode);
-int is_Div_remainderless(const ir_node *node);
+int get_Div_no_remainder(const ir_node *node);
/**
* Projection numbers for Div: use for Proj nodes!
int is_Return(const ir_node *node);
/** Returns true if node is a Call node. */
int is_Call(const ir_node *node);
+/** Returns true if node is a Builtin node. */
+int is_Builtin(const ir_node *node);
/** Returns true if node is a CallBegin node. */
int is_CallBegin(const ir_node *node);
/** Returns true if node is a Sel node. */
int is_Raise(const ir_node *node);
/** Returns true if a node is an ASM node. */
int is_ASM(const ir_node *node);
+/** Returns true if a node is an Dummy node. */
+int is_Dummy(const ir_node *node);
/** Returns true if node is a Proj node or a Filter node in INTRA-procedural view. */
int is_Proj(const ir_node *node);
/** Returns true if node is a Filter node. */
COND_JMP_PRED_FALSE /**< The False case is predicted. */
} cond_jmp_predicate;
-/** Gets the string representation of the jump prediction .*/
+/** Gets the string representation of the jump prediction. */
const char *get_cond_jmp_predicate_name(cond_jmp_predicate pred);
/** Returns the conditional jump prediction of a Cond node. */