}
load_attr
-get_irn_load_attr(ir_node *node)
-{
- assert(node->op == op_Load);
- return node->attr.load;
+get_irn_load_attr(ir_node *node) {
+ assert(node->op == op_Load);
+ return node->attr.load;
}
store_attr
-get_irn_store_attr(ir_node *node)
-{
- assert(node->op == op_Store);
- return node->attr.store;
+get_irn_store_attr(ir_node *node) {
+ assert(node->op == op_Store);
+ return node->attr.store;
}
except_attr
return node->attr.except;
}
-void *
-get_irn_generic_attr(const ir_node *node) {
- return &node->attr;
+void *(get_irn_generic_attr)(ir_node *node) {
+ assert(is_ir_node(node));
+ return _get_irn_generic_attr(node);
}
unsigned (get_irn_idx)(const ir_node *node) {
* Return a pointer to the node attributes.
* Needed for user-defined nodes.
*/
-void *get_irn_generic_attr(const ir_node *node);
+void *get_irn_generic_attr(ir_node *node);
/**
* Returns the unique node index for the node in its graph.
return _get_irn_arity(node) >> 1;
}
+static INLINE void *_get_irn_generic_attr(ir_node *node) {
+ return &node->attr;
+}
+
static INLINE unsigned _get_irn_idx(const ir_node *node) {
return node->node_idx;
}
#define get_Cond_jmp_pred(node) _get_Cond_jmp_pred(node)
#define set_Cond_jmp_pred(node, pred) _set_Cond_jmp_pred(node, pred)
#define get_Psi_n_conds(node) _get_Psi_n_conds(node)
+#define get_irn_generic_attr(node) _get_irn_generic_attr(node)
#define get_irn_idx(node) _get_irn_idx(node)
#define get_irn_deps(node) _get_irn_deps(node)