Ugh, fix bugs. Ok, so the last fix wasn't as great as I thought it was.
authorChris Lattner <sabre@nondot.org>
Tue, 2 Sep 2003 19:14:12 +0000 (19:14 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 2 Sep 2003 19:14:12 +0000 (19:14 +0000)
Now we're back to: 131.730u, 0.330s, which is still quite an improvement,
but still quite unacceptable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8322 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Type.cpp

index 4d838e2151d27cfd96cd85bd3a88c602685adad5..be5c66698b1ee2a814b024950c7d1562d785f9d8 100644 (file)
@@ -372,6 +372,7 @@ PointerType::PointerType(const Type *E) : SequentialType(PointerTyID, E) {
 }
 
 OpaqueType::OpaqueType() : DerivedType(OpaqueTyID) {
+  Recursive = false;
   setAbstract(true);
 #ifdef DEBUG_MERGE_TYPES
   std::cerr << "Derived new type: " << getDescription() << "\n";
@@ -426,7 +427,9 @@ static void getTypeProps(const Type *Ty, std::vector<const Type *> &TypeStack,
 void DerivedType::setDerivedTypeProperties() {
   std::vector<const Type *> TypeStack;
   bool isAbstract = false, isRecursive = false;
-  
+
+  setAbstract(true);
+  setRecursive(true);
   getTypeProps(this, TypeStack, isAbstract, isRecursive);
   setAbstract(isAbstract);
   setRecursive(isRecursive);