mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
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:
parent
fbd2161628
commit
a44c6c00a2
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user