diff --git a/llvm/lib/CodeGen/StackProtector.cpp b/llvm/lib/CodeGen/StackProtector.cpp
index 318be93..b1f18ed 100644
--- a/llvm/lib/CodeGen/StackProtector.cpp
+++ b/llvm/lib/CodeGen/StackProtector.cpp
@@ -192,9 +192,6 @@
   default: return false;
   case SSP::ALL: return true;
   case SSP::SOME: {
-    // If the size of the local variables allocated on the stack is greater than
-    // SSPBufferSize, then we require a stack protector.
-    uint64_t StackSize = 0;
     const TargetData *TD = TLI->getTargetData();
 
     for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I) {
@@ -208,9 +205,10 @@
           if (ConstantInt *CI = dyn_cast<ConstantInt>(AI->getArraySize())) {
             const Type *Ty = AI->getAllocatedType();
             uint64_t TySize = TD->getABITypeSize(Ty);
-            StackSize += TySize * CI->getZExtValue(); // Total allocated size.
 
-            if (SSPBufferSize <= StackSize)
+            // If an array has more than 8 bytes of allocated space, then we
+            // emit stack protectors.
+            if (SSPBufferSize <= TySize * CI->getZExtValue())
               return true;
           } else {
             // This is a call to alloca with a variable size. Default to adding
