llvm-project/llvm/lib/Target/Lanai
Sander de Smalen 8fbc925807 Add OffsetIsScalable to getMemOperandWithOffset
Summary:
Making `Scale` a `TypeSize` in AArch64InstrInfo::getMemOpInfo,
has the effect that all places where this information is used
(notably, TargetInstrInfo::getMemOperandWithOffset) will need
to consider Scale - and derived, Offset - possibly being scalable.

This patch adds a new operand `bool &OffsetIsScalable` to
TargetInstrInfo::getMemOperandWithOffset and fixes up all
the places where this function is used, to consider the
offset possibly being scalable.

In most cases, this means bailing out because the algorithm does not
(or cannot) support scalable offsets in places where it does some
form of alias checking for example.

Reviewers: rovka, efriedma, kristof.beyls

Reviewed By: efriedma

Subscribers: wuzish, kerbowa, MatzeB, arsenm, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, javed.absar, asb, rbar, johnrusso, simoncook, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, luismarques, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72758
2020-02-18 15:53:29 +00:00
..
AsmParser [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
Disassembler CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
MCTargetDesc Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
TargetInfo CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
CMakeLists.txt [Lanai] Move InstPrinter files to MCTargetDesc. NFC 2019-05-11 01:25:58 +00:00
LLVMBuild.txt [Lanai] Move InstPrinter files to MCTargetDesc. NFC 2019-05-11 01:25:58 +00:00
Lanai.h Include what you use in Lanai.h 2019-06-03 17:02:15 +00:00
Lanai.td
LanaiAluCode.h
LanaiAsmPrinter.cpp [AsmPrinter][MCStreamer] De-capitalize EmitInstruction and EmitCFI* 2020-02-13 22:08:55 -08:00
LanaiCallingConv.td
LanaiCondCode.h
LanaiDelaySlotFiller.cpp [NFC] Test commit, fix some comment spelling. 2019-08-20 05:21:27 +00:00
LanaiFrameLowering.cpp Apply llvm-prefer-register-over-unsigned from clang-tidy to LLVM 2019-08-15 19:22:08 +00:00
LanaiFrameLowering.h [Alignment][NFC] Use Align for TargetFrameLowering/Subtarget 2019-10-17 07:49:39 +00:00
LanaiISelDAGToDAG.cpp Include what you use in LanaiISelDAGToDAG.cpp 2019-06-03 17:01:57 +00:00
LanaiISelLowering.cpp [Alignment][NFC] Use Align for getMemcpy/Memmove/Memset 2020-02-03 17:13:19 +01:00
LanaiISelLowering.h CodeGen: Use LLT instead of EVT in getRegisterByName 2020-01-09 17:37:52 -05:00
LanaiInstrFormats.td
LanaiInstrInfo.cpp Add OffsetIsScalable to getMemOperandWithOffset 2020-02-18 15:53:29 +00:00
LanaiInstrInfo.h Add OffsetIsScalable to getMemOperandWithOffset 2020-02-18 15:53:29 +00:00
LanaiInstrInfo.td
LanaiMCInstLower.cpp
LanaiMCInstLower.h
LanaiMachineFunctionInfo.cpp
LanaiMachineFunctionInfo.h
LanaiMemAluCombiner.cpp Include what you use in LanaiMemAluCombiner.cpp 2019-06-03 17:02:02 +00:00
LanaiRegisterInfo.cpp [TargetRegisterInfo] Default trackLivenessAfterRegAlloc() to true 2020-01-19 14:20:37 -08:00
LanaiRegisterInfo.h [TargetRegisterInfo] Default trackLivenessAfterRegAlloc() to true 2020-01-19 14:20:37 -08:00
LanaiRegisterInfo.td
LanaiSchedule.td
LanaiSelectionDAGInfo.cpp
LanaiSelectionDAGInfo.h
LanaiSubtarget.cpp Make llvm::StringRef to std::string conversions explicit. 2020-01-28 23:25:25 +01:00
LanaiSubtarget.h
LanaiTargetMachine.cpp CMake: Make most target symbols hidden by default 2020-01-14 19:46:52 -08:00
LanaiTargetMachine.h
LanaiTargetObjectFile.cpp Revert "Honor -fuse-init-array when os is not specified on x86" 2019-12-17 07:36:59 -08:00
LanaiTargetObjectFile.h
LanaiTargetTransformInfo.h Rename TTI::getIntImmCost for instructions and intrinsics 2019-12-11 18:00:20 -08:00