From f90870f622a18ae14d72d491eaf6e8dcfe431aff Mon Sep 17 00:00:00 2001 From: Ruchira Sasanka Date: Thu, 15 Nov 2001 22:02:06 +0000 Subject: [PATCH] Commented some popTempArg.. since it leads to a bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1326 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegAlloc/PhyRegAlloc.cpp | 14 +++++++++++--- lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp index a4f7f92aa4f..b7ca871b9c2 100644 --- a/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp +++ b/lib/CodeGen/RegAlloc/PhyRegAlloc.cpp @@ -426,7 +426,8 @@ void PhyRegAlloc::updateMachineCode() // reset the stack offset for temporary variables since we may // need that to spill - mcInfo.popAllTempValues(TM); + //mcInfo.popAllTempValues(TM); + // TODO ** : do later //for(MachineInstr::val_op_const_iterator OpI(MInst);!OpI.done();++OpI) { @@ -1026,7 +1027,9 @@ void PhyRegAlloc::colorCallRetArgs() // Tmp stack poistions are needed by some calls that have spilled args // So reset it before we call each such method - mcInfo.popAllTempValues(TM); + //mcInfo.popAllTempValues(TM); + + if( (TM.getInstrInfo()).isCall( OpCode ) ) MRI.colorCallArgs( CRMI, LRI, AI, *this ); @@ -1200,6 +1203,8 @@ void PhyRegAlloc::allocateRegisters() // a poistion for such spilled LRs allocateStackSpace4SpilledLRs(); + mcInfo.popAllTempValues(TM); // TODO **Check + // color incoming args and call args colorIncomingArgs(); colorCallRetArgs(); @@ -1211,13 +1216,16 @@ void PhyRegAlloc::allocateRegisters() printMachineCode(); // only for DEBUGGING } - /* + + + /* printMachineCode(); // only for DEBUGGING cout << "\nAllocted for method " << Meth->getName(); char ch; cin >> ch; */ + } diff --git a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp index a4f7f92aa4f..b7ca871b9c2 100644 --- a/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp +++ b/lib/Target/SparcV9/RegAlloc/PhyRegAlloc.cpp @@ -426,7 +426,8 @@ void PhyRegAlloc::updateMachineCode() // reset the stack offset for temporary variables since we may // need that to spill - mcInfo.popAllTempValues(TM); + //mcInfo.popAllTempValues(TM); + // TODO ** : do later //for(MachineInstr::val_op_const_iterator OpI(MInst);!OpI.done();++OpI) { @@ -1026,7 +1027,9 @@ void PhyRegAlloc::colorCallRetArgs() // Tmp stack poistions are needed by some calls that have spilled args // So reset it before we call each such method - mcInfo.popAllTempValues(TM); + //mcInfo.popAllTempValues(TM); + + if( (TM.getInstrInfo()).isCall( OpCode ) ) MRI.colorCallArgs( CRMI, LRI, AI, *this ); @@ -1200,6 +1203,8 @@ void PhyRegAlloc::allocateRegisters() // a poistion for such spilled LRs allocateStackSpace4SpilledLRs(); + mcInfo.popAllTempValues(TM); // TODO **Check + // color incoming args and call args colorIncomingArgs(); colorCallRetArgs(); @@ -1211,13 +1216,16 @@ void PhyRegAlloc::allocateRegisters() printMachineCode(); // only for DEBUGGING } - /* + + + /* printMachineCode(); // only for DEBUGGING cout << "\nAllocted for method " << Meth->getName(); char ch; cin >> ch; */ + }