Added function getCallInstIndirectAddrVal() to set call interference
for that value.
llvm-svn: 2074
diff --git a/llvm/lib/Target/Sparc/SparcRegInfo.cpp b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
index 9a3c7bd..434816e 100644
--- a/llvm/lib/Target/Sparc/SparcRegInfo.cpp
+++ b/llvm/lib/Target/Sparc/SparcRegInfo.cpp
@@ -93,6 +93,7 @@
//---------------------------------------------------------------------------
// Finds the return value of a sparc specific call instruction
//---------------------------------------------------------------------------
+
const Value *
UltraSparcRegInfo::getCallInstRetVal(const MachineInstr *CallMI) const {
unsigned OpCode = CallMI->getOpCode();
@@ -121,6 +122,13 @@
}
+const Value *
+UltraSparcRegInfo::getCallInstIndirectAddrVal(const MachineInstr *CallMI) const
+{
+ return (CallMI->getOpCode() == JMPLCALL)?
+ CallMI->getOperand(0).getVRegValue() : NULL;
+}
+
//---------------------------------------------------------------------------
// Finds the return address of a call sparc specific call instruction