* @param old_node the old node from which the attributes are read
* @param new_node the new node to which the attributes are written
*/
-void default_copy_attr(const ir_node *old_node, ir_node *new_node);
+void default_copy_attr(ir_graph *irg, const ir_node *old_node,
+ ir_node *new_node);
/**
* Returns the attribute size of nodes of this opcode.
return op->flags & irop_flag_cfopcode;
}
-/**
- * Returns non-zero if the operation manipulates interprocedural control flow:
- * CallBegin, EndReg, EndExcept
- */
-static inline int is_ip_cfopcode(const ir_op *op) {
- return op->flags & irop_flag_ip_cfopcode;
-}
-
/** Returns non-zero if operation is commutative */
static inline int is_op_commutative(const ir_op *op) {
return op->flags & irop_flag_commutative;
return op->flags & irop_flag_machine_op;
}
+/** Returns non-zero if operation is CSE neutral */
+static inline int is_op_cse_neutral(const ir_op *op) {
+ return op->flags & irop_flag_cse_neutral;
+}
+
/** Returns non-zero if operation is a machine user op number n */
static inline int is_op_machine_user(const ir_op *op, unsigned n) {
return op->flags & (irop_flag_user << n);