From da9b3668c2fcc154d6bd2718ee5a5f70b8d0c8fa Mon Sep 17 00:00:00 2001 From: Brian Gaeke Date: Sun, 14 Nov 2004 06:32:08 +0000 Subject: [PATCH] Fix problem with insertion point for ADJCALLSTACKDOWN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17733 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Sparc/SparcV8ISelSimple.cpp | 3 +-- lib/Target/SparcV8/SparcV8ISelSimple.cpp | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/Target/Sparc/SparcV8ISelSimple.cpp b/lib/Target/Sparc/SparcV8ISelSimple.cpp index 6999affa742..1a67ebb36c7 100644 --- a/lib/Target/Sparc/SparcV8ISelSimple.cpp +++ b/lib/Target/Sparc/SparcV8ISelSimple.cpp @@ -789,10 +789,9 @@ void V8ISel::visitCallInst(CallInst &I) { const unsigned *OAREnd = &OutgoingArgRegs[6]; const unsigned *OAR = &OutgoingArgRegs[0]; unsigned ArgOffset = 68; + if (extraStack) BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); for (unsigned i = 1; i < I.getNumOperands (); ++i) { unsigned ArgReg = getReg (I.getOperand (i)); - if (i == 7 && extraStack) - BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); if (getClassB (I.getOperand (i)->getType ()) < cLong) { // Schlep it over into the incoming arg register if (ArgOffset < 92) { diff --git a/lib/Target/SparcV8/SparcV8ISelSimple.cpp b/lib/Target/SparcV8/SparcV8ISelSimple.cpp index 6999affa742..1a67ebb36c7 100644 --- a/lib/Target/SparcV8/SparcV8ISelSimple.cpp +++ b/lib/Target/SparcV8/SparcV8ISelSimple.cpp @@ -789,10 +789,9 @@ void V8ISel::visitCallInst(CallInst &I) { const unsigned *OAREnd = &OutgoingArgRegs[6]; const unsigned *OAR = &OutgoingArgRegs[0]; unsigned ArgOffset = 68; + if (extraStack) BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); for (unsigned i = 1; i < I.getNumOperands (); ++i) { unsigned ArgReg = getReg (I.getOperand (i)); - if (i == 7 && extraStack) - BuildMI (BB, V8::ADJCALLSTACKDOWN, 1).addImm (extraStack); if (getClassB (I.getOperand (i)->getType ()) < cLong) { // Schlep it over into the incoming arg register if (ArgOffset < 92) { -- 2.34.1