Add map info for arguments to call (copies)
llvm-svn: 6503
diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
index 141f226..1cc274d 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -12,6 +12,7 @@
#include "llvm/CodeGen/PhyRegAlloc.h"
#include "llvm/CodeGen/InstrSelection.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
+#include "llvm/CodeGen/MachineCodeForInstruction.h"
#include "llvm/CodeGen/MachineInstrAnnot.h"
#include "llvm/CodeGen/FunctionLiveVarInfo.h" // FIXME: Remove
#include "../../CodeGen/RegAlloc/RegAllocCommon.h" // FIXME!
@@ -940,10 +941,19 @@
//
for(unsigned i=0; i < ReorderedVec.size(); i++)
CallAI->InstrnsBefore.push_back( ReorderedVec[i] );
+
+ //Insert machine instructions before and after call into the
+ //call instructions map --- Anand
+ const CallInst *callInst = argDesc->getCallInst();
+ MachineCodeForInstruction &mvec = MachineCodeForInstruction::get(callInst);
+ mvec.insert(mvec.begin(), CallAI->InstrnsBefore.begin(),
+ CallAI->InstrnsBefore.end());
+ mvec.insert(mvec.end(), CallAI->InstrnsAfter.begin(),
+ CallAI->InstrnsAfter.end());
}
//---------------------------------------------------------------------------
-// This method is called for an LLVM return instruction to identify which
+// this method is called for an LLVM return instruction to identify which
// values will be returned from this method and to suggest colors.
//---------------------------------------------------------------------------
void UltraSparcRegInfo::suggestReg4RetValue(MachineInstr *RetMI,