[llvm-commits] CVS: llvm/lib/VMCore/Type.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Oct 7 09:19:55 PDT 2004



Changes in directory llvm/lib/VMCore:

Type.cpp updated: 1.114 -> 1.115
---
Log message:

Fix a bug in my previous change.  Unfortunately this reverts most of the 
speedup, but has the advantage of not breaking a bunch of programs!


---
Diffs of the changes:  (+4 -3)

Index: llvm/lib/VMCore/Type.cpp
diff -u llvm/lib/VMCore/Type.cpp:1.114 llvm/lib/VMCore/Type.cpp:1.115
--- llvm/lib/VMCore/Type.cpp:1.114	Wed Oct  6 11:36:46 2004
+++ llvm/lib/VMCore/Type.cpp	Thu Oct  7 11:19:40 2004
@@ -478,8 +478,8 @@
       return true;              // This type is abstract if subtype is abstract!
     }
   
-  // Nothing looks abstract here.
-  setAbstract(false);
+  // Nothing looks abstract here.  Restore the abstract flag.
+  setAbstract(true);
   return false;
 }
 
@@ -732,7 +732,8 @@
     // subtypes to see if the type has just become concrete!
     if (Ty->isAbstract()) {
       std::set<Type*> KnownAbstractTypes;
-      Ty->PromoteAbstractToConcrete(&KnownAbstractTypes);
+      if (!Ty->PromoteAbstractToConcrete(&KnownAbstractTypes))
+        Ty->setAbstract(false);
 
       // If the type just became concrete, notify all users!
       if (!Ty->isAbstract())






More information about the llvm-commits mailing list