add missing is_Jmp()
authorMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 25 Oct 2006 16:04:34 +0000 (16:04 +0000)
committerMichael Beck <beck@ipd.info.uni-karlsruhe.de>
Wed, 25 Oct 2006 16:04:34 +0000 (16:04 +0000)
add is_Raise()
skip_Proj() is not const anymore (can skip Id nodes)

[r8370]

ir/ir/irnode.c
ir/ir/irnode.h
ir/ir/irnode_t.h

index 2902b4d..ff82918 100644 (file)
@@ -2374,7 +2374,7 @@ get_irn_irg(const ir_node *node) {
 /*----------------------------------------------------------------*/
 
 ir_node *
-skip_Proj (const ir_node *node) {
+skip_Proj (ir_node *node) {
   /* don't assert node !!! */
   if (node && is_Proj(node)) {
     return get_Proj_pred(node);
@@ -2649,6 +2649,12 @@ int
   return _is_Jmp(node);
 }
 
+/* returns true if a node is a Raise node. */
+int
+(is_Raise)(const ir_node *node) {
+  return _is_Raise(node);
+}
+
 int
 is_Proj (const ir_node *node) {
   assert(node);
index c63c080..4af34a6 100644 (file)
@@ -1113,7 +1113,7 @@ void    set_Pin_op(ir_node *pin, ir_node *node);
  */
 
 /** returns operand of node if node is a Proj. */
-ir_node *skip_Proj(const ir_node *node);
+ir_node *skip_Proj(ir_node *node);
 /** returns operand of node if node is a Id */
 ir_node *skip_Id(ir_node *node);   /* Old name is skip_nop(). */
 /** returns corresponding operand of Tuple if node is a Proj from
@@ -1169,8 +1169,10 @@ int      is_Cond(const ir_node *node);
 int      is_Cmp(const ir_node *node);
 /** returns true if node is an Alloc node */
 int      is_Alloc(const ir_node *node);
-/** returns true if a nide is a Jmp node */
+/** returns true if a node is a Jmp node */
 int      is_Jmp(const ir_node *node);
+/** returns true if a node is a Raise node */
+int      is_Raise(const ir_node *node);
 /** returns true if node is a Proj node or a Filter node in
  * intraprocedural view */
 int      is_Proj(const ir_node *node);
index bc78037..0fb6d84 100644 (file)
@@ -756,6 +756,12 @@ _is_Jmp(const ir_node *node) {
   return (_get_irn_op(node) == op_Jmp);
 }
 
+static INLINE int
+_is_Raise(const ir_node *node) {
+  assert(node);
+  return (_get_irn_op(node) == op_Raise);
+}
+
 static INLINE int
 _is_no_Block(const ir_node *node) {
   assert(node && _is_ir_node(node));
@@ -964,6 +970,8 @@ static INLINE unsigned _get_irn_idx(const ir_node *node) {
 #define is_Cond(node)                         _is_Cond(node)
 #define is_Cmp(node)                          _is_Cmp(node)
 #define is_Alloc(node)                        _is_Alloc(node)
+#define is_Jmp(node)                          _is_Jmp(node)
+#define is_Raise(node)                        _is_Raise(node)
 #define is_Bad(node)                          _is_Bad(node)
 #define is_NoMem(node)                        _is_NoMem(node)
 #define is_Start(node)                        _is_Start(node)