[cfe-commits] r64958 - /cfe/trunk/lib/CodeGen/CGCall.cpp
Daniel Dunbar
daniel at zuster.org
Wed Feb 18 14:05:01 PST 2009
Author: ddunbar
Date: Wed Feb 18 16:05:01 2009
New Revision: 64958
URL: http://llvm.org/viewvc/llvm-project?rev=64958&view=rev
Log:
x86_64 ABI: "is passed in regs" computation for va_arg was broken for
things passed in mixed registers.
This knocks out 8 x86_64 failures.
Modified:
cfe/trunk/lib/CodeGen/CGCall.cpp
Modified: cfe/trunk/lib/CodeGen/CGCall.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCall.cpp?rev=64958&r1=64957&r2=64958&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CGCall.cpp (original)
+++ cfe/trunk/lib/CodeGen/CGCall.cpp Wed Feb 18 16:05:01 2009
@@ -1013,7 +1013,7 @@
llvm::ConstantInt::get(llvm::Type::Int32Ty,
176 - neededSSE * 8),
"fits_in_fp");
- InRegs = InRegs ? CGF.Builder.CreateOr(InRegs, FitsInFP) : FitsInFP;
+ InRegs = InRegs ? CGF.Builder.CreateAnd(InRegs, FitsInFP) : FitsInFP;
}
llvm::BasicBlock *InRegBlock = CGF.createBasicBlock("vaarg.in_reg");
More information about the cfe-commits
mailing list