diff options
author | Bob Wilson <bob.wilson@apple.com> | 2011-11-23 07:13:56 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2011-11-23 07:13:56 +0000 |
commit | 23d66a58b7900784a5808d24ce2d4a449f869aa8 (patch) | |
tree | c872f49d475fbaf3a50bee46602ae7156bf98405 | |
parent | 7f5e43f61d3b28a03537c29156b0bad7dd3476e4 (diff) | |
download | llvm-23d66a58b7900784a5808d24ce2d4a449f869aa8.tar.gz llvm-23d66a58b7900784a5808d24ce2d4a449f869aa8.tar.bz2 llvm-23d66a58b7900784a5808d24ce2d4a449f869aa8.tar.xz |
Enable stack protectors for all arrays, not just char arrays. rdar://5875909
Patch by Bill Wendling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145097 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/StackProtector.cpp | 7 | ||||
-rw-r--r-- | test/CodeGen/X86/splat-scalar-load.ll | 2 |
2 files changed, 2 insertions, 7 deletions
diff --git a/lib/CodeGen/StackProtector.cpp b/lib/CodeGen/StackProtector.cpp index 1f0e5a2711..43a6ad8c97 100644 --- a/lib/CodeGen/StackProtector.cpp +++ b/lib/CodeGen/StackProtector.cpp @@ -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; - } } } diff --git a/test/CodeGen/X86/splat-scalar-load.ll b/test/CodeGen/X86/splat-scalar-load.ll index 2b13029896..81a072fb39 100644 --- a/test/CodeGen/X86/splat-scalar-load.ll +++ b/test/CodeGen/X86/splat-scalar-load.ll @@ -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 |