* Returns the number of predecessors without the block predecessor.
* Intern version for libFirm.
*/
-static INLINE int
-__get_irn_arity (const ir_node *node) {
- if (interprocedural_view) return __get_irn_inter_arity(node);
- return __get_irn_intra_arity(node);
-}
+extern int (*__get_irn_arity)(const ir_node *node);
/**
* Intern version for libFirm.
*/
static INLINE ir_node *
__get_irn_intra_n (ir_node *node, int n) {
+ assert(node); assert(-1 <= n && n < __get_irn_arity(node));
+
return (node->in[n + 1] = skip_Id(node->in[n + 1]));
}
*/
static INLINE ir_node*
__get_irn_inter_n (ir_node *node, int n) {
+ assert(node); assert(-1 <= n && n < __get_irn_arity(node));
+
/* handle Filter and Block specially */
if (__get_irn_opcode(node) == iro_Filter) {
assert(node->attr.filter.in_cg);
* If it is a block, the entry -1 is NULL.
* Intern version for libFirm.
*/
-static INLINE ir_node *
-__get_irn_n (ir_node *node, int n) {
- assert(node); assert(-1 <= n && n < __get_irn_arity(node));
- if (interprocedural_view) return __get_irn_inter_n (node, n);
- return __get_irn_intra_n (node, n);
-}
+extern ir_node *(*__get_irn_n)(ir_node *node, int n);
/**
* Gets the mode of a node.