cleanup besched header
[libfirm] / ir / ir / irnode.c
index 171b484..a90ed0d 100644 (file)
@@ -43,6 +43,7 @@
 
 #include "irhooks.h"
 #include "irtools.h"
+#include "util.h"
 
 #include "beinfo.h"
 
 #define RETURN_RESULT_OFFSET  1  /* mem is not a result */
 #define END_KEEPALIVE_OFFSET  0
 
-static const char *pnc_name_arr [] = {
-       "pn_Cmp_False", "pn_Cmp_Eq", "pn_Cmp_Lt", "pn_Cmp_Le",
-       "pn_Cmp_Gt", "pn_Cmp_Ge", "pn_Cmp_Lg", "pn_Cmp_Leg",
-       "pn_Cmp_Uo", "pn_Cmp_Ue", "pn_Cmp_Ul", "pn_Cmp_Ule",
-       "pn_Cmp_Ug", "pn_Cmp_Uge", "pn_Cmp_Ne", "pn_Cmp_True"
+static const char *relation_names [] = {
+       "false",
+       "equal",
+       "less",
+       "less_equal",
+       "greater",
+       "greater_equal",
+       "less_greater",
+       "less_equal_greater",
+       "unordered",
+       "unordered_equal",
+       "unordered_less",
+       "unordered_less_equal",
+       "unordered_greater",
+       "unordered_greater_equal",
+       "not_equal",
+       "true"
 };
 
-/**
- * returns the pnc name from an pnc constant
- */
-const char *get_pnc_string(int pnc)
+const char *get_relation_string(ir_relation relation)
 {
-       assert(pnc >= 0 && pnc <
-                       (int) (sizeof(pnc_name_arr)/sizeof(pnc_name_arr[0])));
-       return pnc_name_arr[pnc];
+       assert(relation < (ir_relation)ARRAY_SIZE(relation_names));
+       return relation_names[relation];
 }
 
-/*
- * Calculates the negated (Complement(R)) pnc condition.
- */
-pn_Cmp get_negated_pnc(long pnc, ir_mode *mode)
+ir_relation get_negated_relation(ir_relation relation)
 {
-       pnc ^= pn_Cmp_True;
-
-       /* do NOT add the Uo bit for non-floating point values */
-       if (! mode_is_float(mode))
-               pnc &= ~pn_Cmp_Uo;
-
-       return (pn_Cmp) pnc;
+       return relation ^ ir_relation_true;
 }
 
-/* Calculates the inversed (R^-1) pnc condition, i.e., "<" --> ">" */
-pn_Cmp get_inversed_pnc(long pnc)
+ir_relation get_inversed_relation(ir_relation relation)
 {
-       long code    = pnc & ~(pn_Cmp_Lt|pn_Cmp_Gt);
-       long lesser  = pnc & pn_Cmp_Lt;
-       long greater = pnc & pn_Cmp_Gt;
-
-       code |= (lesser ? pn_Cmp_Gt : 0) | (greater ? pn_Cmp_Lt : 0);
-
-       return (pn_Cmp) code;
+       ir_relation code    = relation & ~(ir_relation_less|ir_relation_greater);
+       bool        less    = relation & ir_relation_less;
+       bool        greater = relation & ir_relation_greater;
+       code |= (less ? ir_relation_greater : 0) | (greater ? ir_relation_less : 0);
+       return code;
 }
 
 /**
@@ -1048,19 +1045,19 @@ int Call_has_callees(const ir_node *node)
                (node->attr.call.callee_arr != NULL));
 }
 
-int get_Call_n_callees(const ir_node *node)
+size_t get_Call_n_callees(const ir_node *node)
 {
   assert(is_Call(node) && node->attr.call.callee_arr);
   return ARR_LEN(node->attr.call.callee_arr);
 }
 
-ir_entity *get_Call_callee(const ir_node *node, int pos)
+ir_entity *get_Call_callee(const ir_node *node, size_t pos)
 {
-       assert(pos >= 0 && pos < get_Call_n_callees(node));
+       assert(pos < get_Call_n_callees(node));
        return node->attr.call.callee_arr[pos];
 }
 
-void set_Call_callee_arr(ir_node *node, const int n, ir_entity ** arr)
+void set_Call_callee_arr(ir_node *node, size_t n, ir_entity ** arr)
 {
        ir_graph *irg = get_irn_irg(node);
 
@@ -1357,11 +1354,6 @@ int (is_arg_Proj)(const ir_node *node)
        return _is_arg_Proj(node);
 }
 
-pn_Cmp (get_Proj_pn_cmp)(const ir_node *node)
-{
-       return _get_Proj_pn_cmp(node);
-}
-
 ir_node **get_Tuple_preds_arr(ir_node *node)
 {
        assert(is_Tuple(node));
@@ -1575,7 +1567,6 @@ ir_node *get_fragile_op_mem(ir_node *node)
 
        switch (get_irn_opcode(node)) {
        case iro_Call  :
-       case iro_Quot  :
        case iro_Div   :
        case iro_Mod   :
        case iro_Load  :