Remove enum tarval_classification_t.
[libfirm] / ir / ir / irnode_t.h
index 61e7652..d4df608 100644 (file)
@@ -112,11 +112,6 @@ _is_ir_node(const void *thing) {
        return (get_kind(thing) == k_ir_node);
 }
 
-static INLINE ir_node *_get_nodes_block(const ir_node *node) {
-       assert(_is_ir_node(node));
-       return node->op->ops.get_block(node);
-}
-
 /**
  * Gets the op of a node.
  * Intern version for libFirm.
@@ -477,6 +472,30 @@ _is_Not(const ir_node *node) {
        return (_get_irn_op(node) == op_Not);
 }
 
+static INLINE int
+_is_Shl(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Shl);
+}
+
+static INLINE int
+_is_Shr(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Shr);
+}
+
+static INLINE int
+_is_Shrs(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Shrs);
+}
+
+static INLINE int
+_is_Rot(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Rot);
+}
+
 static INLINE int
 _is_Psi(const ir_node *node) {
        assert(node);
@@ -513,6 +532,12 @@ _is_Conv(const ir_node *node) {
        return (_get_irn_op(node) == op_Conv);
 }
 
+static INLINE int
+_is_Cast(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Cast);
+}
+
 static INLINE int
 _is_CopyB(const ir_node *node) {
        assert(node);
@@ -549,6 +574,12 @@ _is_Mul(const ir_node *node) {
        return (_get_irn_op(node) == op_Mul);
 }
 
+static INLINE int
+_is_Mulh(const ir_node *node) {
+       assert(node);
+       return (_get_irn_op(node) == op_Mulh);
+}
+
 static INLINE int
 _is_Mux(const ir_node *node) {
        assert(node);
@@ -741,9 +772,13 @@ static INLINE cnst_classify_t _classify_Const(ir_node *node) {
 
        op = _get_irn_op(node);
 
-       if (op == op_Const)
-               return classify_tarval(_get_Const_tarval(node));
-       else if(op == op_SymConst)
+       if (op == op_Const) {
+               tarval *tv = _get_Const_tarval(node);
+               if (tarval_is_null(tv))    return CNST_NULL;
+               if (tarval_is_one(tv))     return CNST_ONE;
+               if (tarval_is_all_one(tv)) return CNST_ALL_ONE;
+               return CNST_OTHER;
+       } else if(op == op_SymConst)
                return CNST_SYMCONST;
 
        return CNST_NO_CONST;
@@ -830,7 +865,6 @@ static INLINE void _set_irn_dbg_info(ir_node *n, dbg_info *db) {
 
 /* this section MUST contain all inline functions */
 #define is_ir_node(thing)                     _is_ir_node(thing)
-#define get_nodes_block(node)                 _get_nodes_block(node)
 #define get_irn_intra_arity(node)             _get_irn_intra_arity(node)
 #define get_irn_inter_arity(node)             _get_irn_inter_arity(node)
 #define get_irn_arity(node)                   _get_irn_arity(node)
@@ -855,11 +889,13 @@ static INLINE void _set_irn_dbg_info(ir_node *n, dbg_info *db) {
 #define is_binop(node)                        _is_binop(node)
 #define is_Const(node)                        _is_Const(node)
 #define is_Conv(node)                         _is_Conv(node)
+#define is_Cast(node)                         _is_Cast(node)
 #define is_Unknown(node)                      _is_Unknown(node)
 #define is_Return(node)                       _is_Return(node)
 #define is_Call(node)                         _is_Call(node)
 #define is_Sel(node)                          _is_Sel(node)
 #define is_Mul(node)                          _is_Mul(node)
+#define is_Mulh(node)                         _is_Mulh(node)
 #define is_Mux(node)                          _is_Mux(node)
 #define is_Load(node)                         _is_Load(node)
 #define is_Sync(node)                         _is_Sync(node)
@@ -889,6 +925,10 @@ static INLINE void _set_irn_dbg_info(ir_node *n, dbg_info *db) {
 #define is_Eor(node)                          _is_Eor(node)
 #define is_Sub(node)                          _is_Sub(node)
 #define is_Not(node)                          _is_Not(node)
+#define is_Shl(node)                          _is_Shl(node)
+#define is_Shr(node)                          _is_Shr(node)
+#define is_Shrs(node)                         _is_Shrs(node)
+#define is_Rot(node)                          _is_Rot(node)
 #define is_Psi(node)                          _is_Psi(node)
 #define is_Tuple(node)                        _is_Tuple(node)
 #define is_no_Block(node)                     _is_no_Block(node)