Add dynamic cast for ir_loop
authorIan Romanick <ian.d.romanick@intel.com>
Tue, 6 Apr 2010 00:13:14 +0000 (17:13 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 7 Apr 2010 18:42:36 +0000 (11:42 -0700)
ir.h

diff --git a/ir.h b/ir.h
index 4266dbc..fee23b2 100644 (file)
--- a/ir.h
+++ b/ir.h
@@ -54,6 +54,7 @@ public:
    virtual class ir_variable *          as_variable()         { return NULL; }
    virtual class ir_dereference *       as_dereference()      { return NULL; }
    virtual class ir_rvalue *            as_rvalue()           { return NULL; }
+   virtual class ir_loop *              as_loop()             { return NULL; }
    /*@}*/
 
 protected:
@@ -302,6 +303,11 @@ public:
       v->visit(this);
    }
 
+   virtual ir_loop *as_loop()
+   {
+      return this;
+   }
+
    /**
     * Get an iterator for the instructions of the loop body
     */