irop: Provide macro wrappers for [gs]et_generic_function_ptr_().
[libfirm] / ir / ir / irop_t.h
index 668f520..d70964d 100644 (file)
 #include "irtypes.h"
 #include "tv.h"
 
+#define get_op_code(op)         get_op_code_(op)
+#define get_op_ident(op)        get_op_ident_(op)
+#define get_op_pinned(op)       get_op_pinned_(op)
+#define get_op_ops(op)          get_op_ops_(op)
+#define set_op_tag(op, tag)     set_op_tag_((op), (tag))
+#define get_op_tag(op)          get_op_tag_(op)
+#define set_op_attr(op, attr)   set_op_attr_((op), (attr))
+#define get_op_attr(op)         get_op_attr_(op)
+
+#define set_generic_function_ptr(op, func) set_generic_function_ptr_((op), (op_func)(func))
+#define get_generic_function_ptr(type, op) ((type*)get_generic_function_ptr_((op)))
+
 /**
  * Frees a newly created ir operation.
  */
@@ -169,13 +181,4 @@ static inline void *get_op_attr_(const ir_op *op)
        return op->attr;
 }
 
-#define get_op_code(op)         get_op_code_(op)
-#define get_op_ident(op)        get_op_ident_(op)
-#define get_op_pinned(op)       get_op_pinned_(op)
-#define get_op_ops(op)          get_op_ops_(op)
-#define set_op_tag(op, tag)     set_op_tag_((op), (tag))
-#define get_op_tag(op)          get_op_tag_(op)
-#define set_op_attr(op, attr)   set_op_attr_((op), (attr))
-#define get_op_attr(op)         get_op_attr_(op)
-
 #endif