Remove classify_Const() and replace it by is_Const_{null,one,all_one}().
[libfirm] / include / libfirm / irnode.h
index 90226c6..6d8b2d4 100644 (file)
@@ -463,27 +463,14 @@ int       get_Return_n_ress(ir_node *node);
 ir_node  *get_Return_res(ir_node *node, int pos);
 void      set_Return_res(ir_node *node, int pos, ir_node *res);
 
-/**
- * Possible classes for constant classification.
- */
-typedef enum {
-       CNST_NULL     =  0, /**< The node is a const(0). */
-       CNST_ONE      = +1, /**< The node is a const(1). */
-       CNST_ALL_ONE  = -1, /**< The node is a const(11111...). */
-       CNST_OTHER    =  2, /**< The tarval of the const has another value. */
-       CNST_SYMCONST =  3, /**< The node is symconst. */
-       CNST_NO_CONST =  4  /**< The node is no const at all. */
-} cnst_classify_t;
-
 tarval  *get_Const_tarval(const ir_node *node);
 void     set_Const_tarval(ir_node *node, tarval *con);
 
-/**
- * Classify a node concerning constant properties.
- * @param irn A node to check for.
- * @return Constant properties of that node.
- */
-cnst_classify_t classify_Const(ir_node *irn);
+int is_Const_null(const ir_node *node);
+
+int is_Const_one(const ir_node *node);
+
+int is_Const_all_one(const ir_node *node);
 
 /** Returns the source language type of a Const node.
  * Must be an atomic type.  Mode of type must be mode of node.
@@ -693,6 +680,11 @@ void     set_Mul_left(ir_node *node, ir_node *left);
 ir_node *get_Mul_right(const ir_node *node);
 void     set_Mul_right(ir_node *node, ir_node *right);
 
+ir_node *get_Mulh_left(const ir_node *node);
+void     set_Mulh_left(ir_node *node, ir_node *left);
+ir_node *get_Mulh_right(const ir_node *node);
+void     set_Mulh_right(ir_node *node, ir_node *right);
+
 ir_node *get_Quot_left(const ir_node *node);
 void     set_Quot_left(ir_node *node, ir_node *left);
 ir_node *get_Quot_right(const ir_node *node);
@@ -949,6 +941,8 @@ ir_mode       *get_Load_mode(ir_node *node);
 void           set_Load_mode(ir_node *node, ir_mode *mode);
 ir_volatility  get_Load_volatility(ir_node *node);
 void           set_Load_volatility(ir_node *node, ir_volatility volatility);
+ir_align       get_Load_align(ir_node *node);
+void           set_Load_align(ir_node *node, ir_align align);
 
 /**
  * Projection numbers for Store: use for Proj nodes!
@@ -968,6 +962,8 @@ ir_node       *get_Store_value(ir_node *node);
 void           set_Store_value(ir_node *node, ir_node *value);
 ir_volatility  get_Store_volatility(ir_node *node);
 void           set_Store_volatility(ir_node *node, ir_volatility volatility);
+ir_align       get_Store_align(ir_node *node);
+void           set_Store_align(ir_node *node, ir_align align);
 
 /**
  * Projection numbers for Alloc: use for Proj nodes!
@@ -1198,6 +1194,8 @@ ir_node *skip_HighLevel(ir_node *node);
 int      is_Const(const ir_node *node);
 /** Returns true if a node is a Conv node. */
 int      is_Conv(const ir_node *node);
+/** Returns true if a node is a Cast node. */
+int      is_Cast(const ir_node *node);
 /** Returns true if node is a Bad node. */
 int      is_Bad(const ir_node *node);
 /** Returns true if node is a NoMem node. */
@@ -1226,6 +1224,14 @@ int      is_Eor(const ir_node *node);
 int      is_Sub(const ir_node *node);
 /** Returns true if node is a Not node. */
 int      is_Not(const ir_node *node);
+/** Returns true if node is a Shl node. */
+int      is_Shl(const ir_node *node);
+/** Returns true if node is a Shr node. */
+int      is_Shr(const ir_node *node);
+/** Returns true if node is a Shrs node. */
+int      is_Shrs(const ir_node *node);
+/** Returns true if node is a Rot node. */
+int      is_Rot(const ir_node *node);
 /** Returns true if node is a Psi node. */
 int      is_Psi(const ir_node *node);
 /** Returns true if node is a Tuple node. */
@@ -1244,6 +1250,8 @@ int      is_Call(const ir_node *node);
 int      is_Sel(const ir_node *node);
 /** Returns true if node is a Mul node. */
 int      is_Mul(const ir_node *node);
+/** Returns true if node is a Mulh node. */
+int      is_Mulh(const ir_node *node);
 /** Returns true if node is a Mux node or a Psi with only one condition. */
 int      is_Mux(const ir_node *node);
 /** Returns true if node is a Load node. */