Enable stack protectors for all arrays, not just char arrays. rdar://5875909
authorBob Wilson <bob.wilson@apple.com>
Wed, 23 Nov 2011 07:13:56 +0000 (07:13 +0000)
committerBob Wilson <bob.wilson@apple.com>
Wed, 23 Nov 2011 07:13:56 +0000 (07:13 +0000)
Patch by Bill Wendling.

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

lib/CodeGen/StackProtector.cpp
test/CodeGen/X86/splat-scalar-load.ll

index 1f0e5a2711ae203b9ab18f3e9cd2dd4ee6a9757c..43a6ad8c97a476ca35cfceb604dbe1852d294b22 100644 (file)
@@ -123,16 +123,11 @@ bool StackProtector::RequiresStackProtector() const {
           // protectors.
           return true;
 
-        if (ArrayType *AT = dyn_cast<ArrayType>(AI->getAllocatedType())) {
-          // We apparently only care about character arrays.
-          if (!AT->getElementType()->isIntegerTy(8))
-            continue;
-
+        if (ArrayType *AT = dyn_cast<ArrayType>(AI->getAllocatedType()))
           // If an array has more than SSPBufferSize bytes of allocated space,
           // then we emit stack protectors.
           if (SSPBufferSize <= TD->getTypeAllocSize(AT))
             return true;
-        }
       }
   }
 
index 2b13029896eed99069611371a4cc5ff11a8332ae..81a072fb396a73222a5f80f1ce623853c8a73c09 100644 (file)
@@ -1,7 +1,7 @@
 ; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 | FileCheck %s
 ; rdar://7434544
 
-define <2 x i64> @t2() nounwind ssp {
+define <2 x i64> @t2() nounwind {
 entry:
 ; CHECK: t2:
 ; CHECK: pshufd        $85, (%esp), %xmm0