diff options
| author | Chad Rosier <mcrosier@codeaurora.org> | 2016-03-09 17:29:48 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-03-09 17:29:48 +0000 |
| commit | e4e15ba046be261b3f7767a035d24abbde4957fa (patch) | |
| tree | 8281c9204ecd089cb6e7939b2781f80b34cfd031 /llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | |
| parent | b2ed61a611873a2ddb7a699f1c0b605e4bf05466 (diff) | |
| download | bcm5719-llvm-e4e15ba046be261b3f7767a035d24abbde4957fa.tar.gz bcm5719-llvm-e4e15ba046be261b3f7767a035d24abbde4957fa.zip | |
[AArch64] Move helper functions into TII, so they can be reused elsewhere. NFC.
llvm-svn: 263032
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64InstrInfo.cpp')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64InstrInfo.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp index 5d6b6f8b711..c57c41196f5 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp @@ -1313,6 +1313,35 @@ void AArch64InstrInfo::suppressLdStPair(MachineInstr *MI) const { ->setFlags(MOSuppressPair << MachineMemOperand::MOTargetStartBit); } +bool AArch64InstrInfo::isUnscaledLdSt(unsigned Opc) const { + switch (Opc) { + default: + return false; + case AArch64::STURSi: + case AArch64::STURDi: + case AArch64::STURQi: + case AArch64::STURBBi: + case AArch64::STURHHi: + case AArch64::STURWi: + case AArch64::STURXi: + case AArch64::LDURSi: + case AArch64::LDURDi: + case AArch64::LDURQi: + case AArch64::LDURWi: + case AArch64::LDURXi: + case AArch64::LDURSWi: + case AArch64::LDURHHi: + case AArch64::LDURBBi: + case AArch64::LDURSBWi: + case AArch64::LDURSHWi: + return true; + } +} + +bool AArch64InstrInfo::isUnscaledLdSt(MachineInstr *MI) const { + return isUnscaledLdSt(MI->getOpcode()); +} + bool AArch64InstrInfo::getMemOpBaseRegImmOfs( MachineInstr *LdSt, unsigned &BaseReg, int64_t &Offset, const TargetRegisterInfo *TRI) const { |

