From ff009ad1e1152ac6941ea4a85910f125868bd3de Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 19 Apr 2011 05:15:59 +0000 Subject: [PATCH] tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129753 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/X86/X86FastISel.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp index 0be9dfa06c4..c563a56f985 100644 --- a/lib/Target/X86/X86FastISel.cpp +++ b/lib/Target/X86/X86FastISel.cpp @@ -1535,11 +1535,12 @@ bool X86FastISel::X86SelectCall(const Instruction *I) { } unsigned ArgReg; + + // Passing bools around ends up doing a trunc to i1 and passing it. + // Codegen this as an argument + "and 1". if (ArgVal->getType()->isIntegerTy(1) && isa(ArgVal) && cast(ArgVal)->getParent() == I->getParent() && ArgVal->hasOneUse()) { - // Passing bools around ends up doing a trunc to i1 and passing it. - // Codegen this as an argument + "and 1". ArgVal = cast(ArgVal)->getOperand(0); ArgReg = getRegForValue(ArgVal); if (ArgReg == 0) return false; @@ -1551,9 +1552,10 @@ bool X86FastISel::X86SelectCall(const Instruction *I) { ArgVal->hasOneUse(), 1); } else { ArgReg = getRegForValue(ArgVal); - if (ArgReg == 0) return false; } + if (ArgReg == 0) return false; + // FIXME: Only handle *easy* calls for now. if (CS.paramHasAttr(AttrInd, Attribute::InReg) || CS.paramHasAttr(AttrInd, Attribute::StructRet) ||