added a skip_Proj_const...
authorMatthias Braun <matze@braunis.de>
Thu, 14 Dec 2006 14:42:39 +0000 (14:42 +0000)
committerMatthias Braun <matze@braunis.de>
Thu, 14 Dec 2006 14:42:39 +0000 (14:42 +0000)
[r8460]

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

index cee3933..68d2d70 100644 (file)
@@ -2376,11 +2376,25 @@ get_irn_irg(const ir_node *node) {
 ir_node *
 skip_Proj (ir_node *node) {
   /* don't assert node !!! */
-  if (node != NULL && is_Proj(node)) {
-    return get_Proj_pred(node);
-  } else {
-    return (ir_node*) node;
-  }
+  if (node == NULL)
+    return NULL;
+
+  if (is_Proj(node))
+       node = get_Proj_pred(node);
+
+  return node;
+}
+
+const ir_node *
+skip_Proj_const (const ir_node *node) {
+  /* don't assert node !!! */
+  if (node == NULL)
+    return NULL;
+
+  if (is_Proj(node))
+       node = get_Proj_pred(node);
+
+  return node;
 }
 
 ir_node *
index 5309e3c..c259700 100644 (file)
@@ -1111,6 +1111,8 @@ void    set_Pin_op(ir_node *pin, ir_node *node);
 
 /** returns operand of node if node is a Proj. */
 ir_node *skip_Proj(ir_node *node);
+/** returns operand of node if node is a Proj. */
+const ir_node *skip_Proj_const(const 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