/*
- * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved.
+ * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved.
*
* This file is part of libFirm.
*
* Returns non-zero if op is a control flow opcode,
* like Start, End, Jmp, Cond, Return, Raise or Bad.
*/
-static INLINE int is_cfopcode(const ir_op *op) {
+static INLINE int is_op_cfopcode(const ir_op *op) {
return op->flags & irop_flag_cfopcode;
}
return op->flags & irop_flag_constlike;
}
+static INLINE int is_op_uses_memory(const ir_op *op) {
+ return op->flags & irop_flag_uses_memory;
+}
+
/** Returns non-zero if operation must always be optimized */
static INLINE int is_op_always_opt(const ir_op *op) {
return op->flags & irop_flag_always_opt;
}
static INLINE op_pin_state _get_op_pinned(const ir_op *op) {
- return op->op_pin_state_pinned;
+ return op->pin_state;
}
static INLINE void _set_generic_function_ptr(ir_op *op, op_func func) {
return op->tag;
}
+static INLINE void _set_op_attr(ir_op *op, void *attr) {
+ op->attr = attr;
+}
+
+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