Move mlp and sese stuff into a separate compiler pass
[IRC.git] / Robust / src / IR / Flat / FlatSESEEnterNode.java
index a56d8972e1acb54a1fd82e1b39f0189f73ed8c0f..6b17aacc4305939f4fd895ed881297f6ef4b7d4d 100644 (file)
@@ -1,16 +1,50 @@
 package IR.Flat;
 import IR.Tree.SESENode;
-import java.util.Vector;
+import java.util.HashSet;
 
 public class FlatSESEEnterNode extends FlatNode {
   private static int identifier=0;
   private int id;
   protected FlatSESEExitNode exit;
   protected SESENode treeNode;
+  protected HashSet<TempDescriptor> inVars;
+  protected HashSet<TempDescriptor> outVars;
 
   public FlatSESEEnterNode( SESENode sn ) {
-    this.id=identifier++;
+    this.id  = identifier++;
     treeNode = sn;
+    inVars   = new HashSet<TempDescriptor>();
+    outVars  = new HashSet<TempDescriptor>();
+  }
+
+  public void rewriteUse() {
+  }
+
+  public void rewriteDef() {
+  }
+
+  public void addInVar( TempDescriptor td ) {
+    inVars.add( td );
+  }
+
+  public void addOutVar( TempDescriptor td ) {
+    outVars.add( td );
+  }
+
+  public void addInVarSet( HashSet<TempDescriptor> s ) {
+    inVars.addAll( s );
+  }
+
+  public void addOutVarSet( HashSet<TempDescriptor> s ) {
+    outVars.addAll( s );
+  }
+
+  public HashSet<TempDescriptor> getInVarSet() {
+    return inVars;
+  }
+
+  public HashSet<TempDescriptor> getOutVarSet() {
+    return outVars;
   }
 
   public SESENode getTreeNode() {
@@ -21,8 +55,15 @@ public class FlatSESEEnterNode extends FlatNode {
     return id;
   }
 
+  public String getPrettyIdentifier() {    
+    if( treeNode.getID() != null ) {
+      return treeNode.getID();
+    }     
+    return ""+id;
+  }
+
   public String toString() {
-    return "sese "+id+" enter";
+    return "sese "+getPrettyIdentifier()+" enter";
   }
 
   public void setFlatExit( FlatSESEExitNode fsexn ) {