Increase the size of these SmallVectors in X86ISelLowering.cpp.
authorHans Wennborg <hans@hanshq.net>
Mon, 11 Aug 2014 02:21:22 +0000 (02:21 +0000)
committerHans Wennborg <hans@hanshq.net>
Mon, 11 Aug 2014 02:21:22 +0000 (02:21 +0000)
In a Clang bootstrap, their sizes were always 12, 16 and 16, respectively.

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

lib/Target/X86/X86ISelLowering.cpp

index bd920c8ecef50c9c0757564802767a0784f0d74f..70760c1214e517c9cde488a95281bce20d9e6d37 100644 (file)
@@ -2495,7 +2495,7 @@ X86TargetLowering::LowerFormalArguments(SDValue Chain,
 
       if (TotalNumXMMRegs != 0 && NumXMMRegs != TotalNumXMMRegs) {
         // Now store the XMM (fp + vector) parameter registers.
 
       if (TotalNumXMMRegs != 0 && NumXMMRegs != TotalNumXMMRegs) {
         // Now store the XMM (fp + vector) parameter registers.
-        SmallVector<SDValue, 11> SaveXMMOps;
+        SmallVector<SDValue, 12> SaveXMMOps;
         SaveXMMOps.push_back(Chain);
 
         unsigned AL = MF.addLiveIn(X86::AL, &X86::GR8RegClass);
         SaveXMMOps.push_back(Chain);
 
         unsigned AL = MF.addLiveIn(X86::AL, &X86::GR8RegClass);
@@ -13330,7 +13330,7 @@ static SDValue LowerExtendedLoad(SDValue Op, const X86Subtarget *Subtarget,
            "We can't implement an sext load without a arithmetic right shift!");
 
     // Redistribute the loaded elements into the different locations.
            "We can't implement an sext load without a arithmetic right shift!");
 
     // Redistribute the loaded elements into the different locations.
-    SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1);
+    SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1);
     for (unsigned i = 0; i != NumElems; ++i)
       ShuffleVec[i * SizeRatio + SizeRatio - 1] = i;
 
     for (unsigned i = 0; i != NumElems; ++i)
       ShuffleVec[i * SizeRatio + SizeRatio - 1] = i;
 
@@ -13350,7 +13350,7 @@ static SDValue LowerExtendedLoad(SDValue Op, const X86Subtarget *Subtarget,
   }
 
   // Redistribute the loaded elements into the different locations.
   }
 
   // Redistribute the loaded elements into the different locations.
-  SmallVector<int, 8> ShuffleVec(NumElems * SizeRatio, -1);
+  SmallVector<int, 16> ShuffleVec(NumElems * SizeRatio, -1);
   for (unsigned i = 0; i != NumElems; ++i)
     ShuffleVec[i * SizeRatio] = i;
 
   for (unsigned i = 0; i != NumElems; ++i)
     ShuffleVec[i * SizeRatio] = i;