Added function getCallInstIndirectAddrVal() to set call interference

for that value.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2074 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Vikram S. Adve 2002-03-31 19:04:50 +00:00
parent fbd2161628
commit a44c6c00a2
2 changed files with 11 additions and 1 deletions

View File

@ -415,9 +415,11 @@ public:
}
// To obtain the return value contained in a CALL machine instruction
// To obtain the return value and the indirect call address (if any)
// contained in a CALL machine instruction
//
const Value * getCallInstRetVal(const MachineInstr *CallMI) const;
const Value * getCallInstIndirectAddrVal(const MachineInstr *CallMI) const;
// The following methods are used to generate "copy" machine instructions

View File

@ -93,6 +93,7 @@ unsigned UltraSparcRegInfo::getStackPointer() const {
//---------------------------------------------------------------------------
// 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 @@ UltraSparcRegInfo::getCallInstRetVal(const MachineInstr *CallMI) const {
}
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