diff graal/GraalCompiler/src/com/sun/c1x/opt/PhiSimplifier.java @ 2695:785e9ecdcc69

Removed the instruction substitutor.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 18 May 2011 15:03:45 +0200
parents 768d77a1c7af
children c1ce2a53d6c3
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/opt/PhiSimplifier.java	Wed May 18 14:40:29 2011 +0200
+++ b/graal/GraalCompiler/src/com/sun/c1x/opt/PhiSimplifier.java	Wed May 18 15:03:45 2011 +0200
@@ -34,13 +34,10 @@
 public final class PhiSimplifier implements BlockClosure {
 
     final IR ir;
-    final InstructionSubstituter subst;
 
     public PhiSimplifier(IR ir) {
         this.ir = ir;
-        this.subst = new InstructionSubstituter(ir);
         ir.startBlock.iterateAnyOrder(this, false);
-        subst.finish();
     }
 
     /**
@@ -62,10 +59,7 @@
             return x;
         }
         Phi phi = (Phi) x;
-        if (phi.hasSubst()) {
-            // already substituted, but the subst could be a phi itself, so simplify
-            return simplify(subst.getSubst(phi));
-        } else if (phi.checkFlag(Value.Flag.PhiCannotSimplify)) {
+        if (phi.checkFlag(Value.Flag.PhiCannotSimplify)) {
             // already tried, cannot simplify this phi
             return phi;
         } else if (phi.checkFlag(Value.Flag.PhiVisited)) {
@@ -121,7 +115,6 @@
             // successfully simplified the phi
             assert phiSubst != null : "illegal phi function";
             phi.clearFlag(Value.Flag.PhiVisited);
-            subst.setSubst(phi, phiSubst);
             return phiSubst;
         }
     }