summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanak@gmail.com>2011-08-12 02:30:14 +0000
committerAkira Hatanaka <ahatanak@gmail.com>2011-08-12 02:30:14 +0000
commitae31c7af1c92c5760807fdb1a88a0e35f3f02892 (patch)
tree75e698d691d2a10c3205f26534e9233fe5015a27 /clang/lib/CodeGen/TargetInfo.cpp
parent22c55d180ddc9772ee03d5034677d27a2735c92e (diff)
downloadbcm5719-llvm-ae31c7af1c92c5760807fdb1a88a0e35f3f02892.tar.gz
bcm5719-llvm-ae31c7af1c92c5760807fdb1a88a0e35f3f02892.zip
Alignment of a va_arg must be at least as large as the ABI's minimum alignment.
llvm-svn: 137420
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 87c07b4793e..cb5c6722f92 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -3082,6 +3082,7 @@ llvm::Value* MipsABIInfo::EmitVAArg(llvm::Value *VAListAddr, QualType Ty,
AddrTyped = Builder.CreateBitCast(Addr, PTy);
llvm::Value *AlignedAddr = Builder.CreateBitCast(AddrTyped, BP);
+ TypeAlign = std::max(TypeAlign, MinABIStackAlignInBytes);
uint64_t Offset =
llvm::RoundUpToAlignment(CGF.getContext().getTypeSize(Ty) / 8, TypeAlign);
llvm::Value *NextAddr =
OpenPOWER on IntegriCloud