aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/StackProtector.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-11-05 00:54:27 +0000
committerBill Wendling <isanbard@gmail.com>2008-11-05 00:54:27 +0000
commitf1b4e2626bf1dfbbb9463a50afe115e65269d2e9 (patch)
tree2006197ede2368147fc6ab95de4553fe3eecca93 /llvm/lib/CodeGen/StackProtector.cpp
parent75e38fedc8b48a2f65cf265ba2b854e7ac899950 (diff)
downloadllvm-f1b4e2626bf1dfbbb9463a50afe115e65269d2e9.zip
llvm-f1b4e2626bf1dfbbb9463a50afe115e65269d2e9.tar.gz
llvm-f1b4e2626bf1dfbbb9463a50afe115e65269d2e9.tar.bz2
Simplify the allocated size calculation.
llvm-svn: 58740
Diffstat (limited to 'llvm/lib/CodeGen/StackProtector.cpp')
-rw-r--r--llvm/lib/CodeGen/StackProtector.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/StackProtector.cpp b/llvm/lib/CodeGen/StackProtector.cpp
index 36ae284..631760a 100644
--- a/llvm/lib/CodeGen/StackProtector.cpp
+++ b/llvm/lib/CodeGen/StackProtector.cpp
@@ -201,9 +201,9 @@ bool StackProtector::RequiresStackProtector() const {
II = BB->begin(), IE = BB->end(); II != IE; ++II)
if (AllocaInst *AI = dyn_cast<AllocaInst>(II)) {
if (ConstantInt *CI = dyn_cast<ConstantInt>(AI->getArraySize())) {
- uint64_t Bytes = TD->getTypeSizeInBits(AI->getAllocatedType()) / 8;
- const APInt &Size = CI->getValue();
- StackSize += Bytes * Size.getZExtValue();
+ const Type *Ty = AI->getAllocatedType();
+ uint64_t TySize = TD->getABITypeSize(Ty);
+ StackSize += TySize * CI->getZExtValue(); // Total allocated size.
if (SSPBufferSize <= StackSize)
return true;