An array of chars of length 8 will also cause the stack protector to be inserted
authorBill Wendling <isanbard@gmail.com>
Wed, 2 Nov 2011 23:20:58 +0000 (23:20 +0000)
committerBill Wendling <isanbard@gmail.com>
Wed, 2 Nov 2011 23:20:58 +0000 (23:20 +0000)
into the function. Reflect that here so that the array will be placed next to
the SP.
<rdar://problem/10128329>

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

lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp

index b052740a1abe830f994e4295e68ab24febfc7814..90d35cc76d9155e5e9430ee8ba0ac04543253f0c 100644 (file)
@@ -92,7 +92,7 @@ void FunctionLoweringInfo::set(const Function &fn, MachineFunction &mf) {
         // candidate. I.e., it would trigger the creation of a stack protector.
         bool MayNeedSP =
           (AI->isArrayAllocation() ||
-           (TySize > 8 && isa<ArrayType>(Ty) &&
+           (TySize >= 8 && isa<ArrayType>(Ty) &&
             cast<ArrayType>(Ty)->getElementType()->isIntegerTy(8)));
         StaticAllocaMap[AI] =
           MF->getFrameInfo()->CreateStackObject(TySize, Align, false, MayNeedSP);