diff options
author | dim <dim@FreeBSD.org> | 2016-02-24 22:07:56 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2016-02-24 22:07:56 +0000 |
commit | 7964a6d9e94efb6a149df4b5a4fc07c99d4cde28 (patch) | |
tree | de35813fce0fe1effb9c40218b537fb972bdcbec /contrib/llvm/tools/clang/lib/CodeGen | |
parent | 72672a13f91ec00fcf43f669f86c9706e973a925 (diff) | |
download | FreeBSD-src-7964a6d9e94efb6a149df4b5a4fc07c99d4cde28.zip FreeBSD-src-7964a6d9e94efb6a149df4b5a4fc07c99d4cde28.tar.gz |
Update llvm and clang to release_38 branch r261684.
Diffstat (limited to 'contrib/llvm/tools/clang/lib/CodeGen')
-rw-r--r-- | contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp b/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp index cdb325f..3d1ddef 100644 --- a/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp +++ b/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp @@ -3475,6 +3475,7 @@ public: Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList, QualType Ty) const { + const unsigned OverflowLimit = 8; if (const ComplexType *CTy = Ty->getAs<ComplexType>()) { // TODO: Implement this. For now ignore. (void)CTy; @@ -3517,7 +3518,7 @@ Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList, } llvm::Value *CC = - Builder.CreateICmpULT(NumRegs, Builder.getInt8(8), "cond"); + Builder.CreateICmpULT(NumRegs, Builder.getInt8(OverflowLimit), "cond"); llvm::BasicBlock *UsingRegs = CGF.createBasicBlock("using_regs"); llvm::BasicBlock *UsingOverflow = CGF.createBasicBlock("using_overflow"); @@ -3569,6 +3570,8 @@ Address PPC32_SVR4_ABIInfo::EmitVAArg(CodeGenFunction &CGF, Address VAList, { CGF.EmitBlock(UsingOverflow); + Builder.CreateStore(Builder.getInt8(OverflowLimit), NumRegsAddr); + // Everything in the overflow area is rounded up to a size of at least 4. CharUnits OverflowAreaAlign = CharUnits::fromQuantity(4); |