- simplified
[libfirm] / ir / ir / irop.c
index 98b25af..e542a54 100644 (file)
@@ -38,6 +38,8 @@
 
 #include "xmalloc.h"
 
+void be_init_op(void);
+
 /** the available next opcode */
 static unsigned next_iro = iro_MaxOpcode;
 
@@ -105,8 +107,6 @@ ir_op *op_EndExcept;   ir_op *get_op_EndExcept (void) { return op_EndExcept; }
 
 ir_op *op_NoMem;       ir_op *get_op_NoMem     (void) { return op_NoMem;     }
 ir_op *op_Mux;         ir_op *get_op_Mux       (void) { return op_Mux;       }
-ir_op *op_Min;         ir_op *get_op_Min       (void) { return op_Max;       }
-ir_op *op_Max;         ir_op *get_op_Max       (void) { return op_Max;       }
 ir_op *op_CopyB;       ir_op *get_op_CopyB     (void) { return op_CopyB;     }
 
 ir_op *op_Raise;       ir_op *get_op_Raise     (void) { return op_Raise;     }
@@ -115,6 +115,7 @@ ir_op *op_Bound;       ir_op *get_op_Bound     (void) { return op_Bound;     }
 ir_op *op_Pin;         ir_op *get_op_Pin       (void) { return op_Pin;       }
 
 ir_op *op_ASM;         ir_op *get_op_ASM       (void) { return op_ASM;       }
+ir_op *op_Dummy;       ir_op *get_op_Dummy     (void) { return op_Dummy;     }
 ir_op *op_Anchor;      ir_op *get_op_Anchor    (void) { return op_Anchor;    }
 
 /*
@@ -347,8 +348,6 @@ init_op(void)
 
        op_NoMem     = new_ir_op(iro_NoMem,     "NoMem",     op_pin_state_pinned, N|NB|NI, oparity_zero,     -1, 0, NULL);
        op_Mux       = new_ir_op(iro_Mux,       "Mux",       op_pin_state_floats, N,       oparity_trinary,  -1, 0, NULL);
-       op_Min       = new_ir_op(iro_Min,       "Min",       op_pin_state_floats, N,       oparity_binary,   -1, 0, NULL);
-       op_Max       = new_ir_op(iro_Max,       "Max",       op_pin_state_floats, N,       oparity_binary,   -1, 0, NULL);
        op_CopyB     = new_ir_op(iro_CopyB,     "CopyB",     op_pin_state_mem_pinned, F|H|M, oparity_trinary,-1, sizeof(copyb_attr), NULL);
 
        op_InstOf    = new_ir_op(iro_InstOf,    "InstOf",    op_pin_state_mem_pinned, H,   oparity_unary,    -1, sizeof(io_attr), NULL);
@@ -360,6 +359,8 @@ init_op(void)
        op_ASM       = new_ir_op(iro_ASM,       "ASM",       op_pin_state_mem_pinned, K|M, oparity_variable, -1, sizeof(asm_attr), NULL);
        op_Builtin   = new_ir_op(iro_Builtin,   "Builtin",   op_pin_state_mem_pinned, M,   oparity_variable, -1, sizeof(builtin_attr), NULL);
 
+       op_Dummy     = new_ir_op(iro_Dummy,     "Dummy",     op_pin_state_pinned, X|F|S|c|NB,oparity_zero,   -1, 0, NULL);
+
        op_Anchor    = new_ir_op(iro_Anchor,    "Anchor",    op_pin_state_pinned, N|NB,    oparity_variable, -1, 0, NULL);
 
 #undef S
@@ -373,6 +374,9 @@ init_op(void)
 #undef E
 #undef NB
 #undef NI
+
+       /* initialize backend opcodes */
+       be_init_op();
 }  /* init_op */
 
 
@@ -438,8 +442,6 @@ void finish_op(void) {
        free_ir_op (op_EndExcept); op_EndExcept = NULL;
 
        free_ir_op (op_NoMem    ); op_NoMem     = NULL;
-       free_ir_op (op_Max      ); op_Max       = NULL;
-       free_ir_op (op_Min      ); op_Min       = NULL;
        free_ir_op (op_Mux      ); op_Mux       = NULL;
        free_ir_op (op_CopyB    ); op_CopyB     = NULL;
 
@@ -449,6 +451,7 @@ void finish_op(void) {
 
        free_ir_op (op_Pin      ); op_Pin       = NULL;
        free_ir_op (op_ASM      ); op_ASM       = NULL;
+       free_ir_op (op_Dummy    ); op_Dummy     = NULL;
        free_ir_op (op_Anchor   ); op_Anchor    = NULL;
 }