diff options
Diffstat (limited to 'lib/Target/AArch64/AArch64InstrInfo.cpp')
-rw-r--r-- | lib/Target/AArch64/AArch64InstrInfo.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/lib/Target/AArch64/AArch64InstrInfo.cpp b/lib/Target/AArch64/AArch64InstrInfo.cpp index b702275..ce85b2c 100644 --- a/lib/Target/AArch64/AArch64InstrInfo.cpp +++ b/lib/Target/AArch64/AArch64InstrInfo.cpp @@ -541,51 +541,6 @@ void AArch64InstrInfo::insertSelect(MachineBasicBlock &MBB, CC); } -// FIXME: this implementation should be micro-architecture dependent, so a -// micro-architecture target hook should be introduced here in future. -bool AArch64InstrInfo::isAsCheapAsAMove(const MachineInstr *MI) const { - if (!Subtarget.isCortexA57() && !Subtarget.isCortexA53()) - return MI->isAsCheapAsAMove(); - - switch (MI->getOpcode()) { - default: - return false; - - // add/sub on register without shift - case AArch64::ADDWri: - case AArch64::ADDXri: - case AArch64::SUBWri: - case AArch64::SUBXri: - return (MI->getOperand(3).getImm() == 0); - - // logical ops on immediate - case AArch64::ANDWri: - case AArch64::ANDXri: - case AArch64::EORWri: - case AArch64::EORXri: - case AArch64::ORRWri: - case AArch64::ORRXri: - return true; - - // logical ops on register without shift - case AArch64::ANDWrr: - case AArch64::ANDXrr: - case AArch64::BICWrr: - case AArch64::BICXrr: - case AArch64::EONWrr: - case AArch64::EONXrr: - case AArch64::EORWrr: - case AArch64::EORXrr: - case AArch64::ORNWrr: - case AArch64::ORNXrr: - case AArch64::ORRWrr: - case AArch64::ORRXrr: - return true; - } - - llvm_unreachable("Unknown opcode to check as cheap as a move!"); -} - bool AArch64InstrInfo::isCoalescableExtInstr(const MachineInstr &MI, unsigned &SrcReg, unsigned &DstReg, unsigned &SubIdx) const { |