mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-01 02:33:44 +00:00
Create a isFullCopy predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134189 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
77a2c372fa
commit
cfe5254cd3
@ -278,6 +278,9 @@ public:
|
||||
bool isCopy() const {
|
||||
return getOpcode() == TargetOpcode::COPY;
|
||||
}
|
||||
bool isFullCopy() const {
|
||||
return isCopy() && !getOperand(0).getSubReg() && !getOperand(1).getSubReg();
|
||||
}
|
||||
|
||||
/// isCopyLike - Return true if the instruction behaves like a copy.
|
||||
/// This does not include native copy instructions.
|
||||
|
@ -180,11 +180,7 @@ Spiller *createInlineSpiller(MachineFunctionPass &pass,
|
||||
/// isFullCopyOf - If MI is a COPY to or from Reg, return the other register,
|
||||
/// otherwise return 0.
|
||||
static unsigned isFullCopyOf(const MachineInstr *MI, unsigned Reg) {
|
||||
if (!MI->isCopy())
|
||||
return 0;
|
||||
if (MI->getOperand(0).getSubReg() != 0)
|
||||
return 0;
|
||||
if (MI->getOperand(1).getSubReg() != 0)
|
||||
if (!MI->isFullCopy())
|
||||
return 0;
|
||||
if (MI->getOperand(0).getReg() == Reg)
|
||||
return MI->getOperand(1).getReg();
|
||||
|
Loading…
x
Reference in New Issue
Block a user