Fix Transforms/GlobalOpt/2007-04-05-Crash.ll
authorChris Lattner <sabre@nondot.org>
Thu, 5 Apr 2007 21:09:42 +0000 (21:09 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 5 Apr 2007 21:09:42 +0000 (21:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35689 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/IPO/GlobalOpt.cpp

index 89850d2e3da4ce05977467ed5b9f87cdaf482719..1d80936c73768542528f2b57c773545a65cc0cac 100644 (file)
@@ -1347,7 +1347,7 @@ bool GlobalOpt::ProcessInternalGlobal(GlobalVariable *GV,
         if (GV->getType()->getElementType() != Type::Int1Ty &&
             !GV->getType()->getElementType()->isFloatingPoint() &&
             !isa<VectorType>(GV->getType()->getElementType()) &&
-            !GS.HasPHIUser) {
+            !GS.HasPHIUser && !GS.isNotSuitableForSRA) {
           DOUT << "   *** SHRINKING TO BOOL: " << *GV;
           ShrinkGlobalToBoolean(GV, SOVConstant);
           ++NumShrunkToBool;