Fix instsel for calls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4891 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/X86/InstSelectSimple.cpp b/lib/Target/X86/InstSelectSimple.cpp
index 10fdf0f..04827f0 100644
--- a/lib/Target/X86/InstSelectSimple.cpp
+++ b/lib/Target/X86/InstSelectSimple.cpp
@@ -389,10 +389,9 @@
{
// Push the arguments on the stack in reverse order, as specified by
// the ABI.
- for (unsigned i = CI.getNumOperands (); i >= 1; --i)
+ for (unsigned i = CI.getNumOperands()-1; i >= 1; --i)
{
Value *v = CI.getOperand (i);
- unsigned argReg = getReg (v);
switch (getClass (v->getType ()))
{
case cByte:
@@ -404,7 +403,7 @@
break;
case cInt:
case cFloat:
- BuildMI (BB, X86::PUSHr32, 1).addReg (argReg);
+ BuildMI (BB, X86::PUSHr32, 1).addReg(getReg(v));
break;
default:
// FIXME: long/ulong/double args not handled.