[PATCH] D54846: [CodeGen][NFC] Make `TII::getMemOpBaseImmOfs` return a base operand

Francis Visoiu Mistrih via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 23 02:31:55 PST 2018


thegameg created this revision.
thegameg added reviewers: sdesmalen, paquette, eli.friedman, niravd, qcolombet, arsenm, kparzysz, jpienaar, RKSimon, craig.topper, MatzeB, dsanders.
Herald added subscribers: javed.absar, nhaehnle, wdng, jvesely.

Currently, instructions doing memory accesses through a base operand that is not a register can not be analyzed using `TII::getMemOpBaseRegImmOfs`.

This means that functions such as `TII::shouldClusterMemOps` will bail out on instructions using an FI as a base instead of a register.

The goal of this patch is to refactor all this to return a base operand instead of a base register.

Then in a separate patch, I will add FI support to the mem op clustering in the MachineScheduler.


https://reviews.llvm.org/D54846

Files:
  include/llvm/CodeGen/TargetInstrInfo.h
  lib/CodeGen/ImplicitNullChecks.cpp
  lib/CodeGen/MachinePipeliner.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/CodeGen/MachineSink.cpp
  lib/Target/AArch64/AArch64InstrInfo.cpp
  lib/Target/AArch64/AArch64InstrInfo.h
  lib/Target/AArch64/AArch64StorePairSuppress.cpp
  lib/Target/AMDGPU/SIInstrInfo.cpp
  lib/Target/AMDGPU/SIInstrInfo.h
  lib/Target/AMDGPU/SIMachineScheduler.cpp
  lib/Target/Hexagon/HexagonInstrInfo.cpp
  lib/Target/Hexagon/HexagonInstrInfo.h
  lib/Target/Hexagon/HexagonSubtarget.cpp
  lib/Target/Lanai/LanaiInstrInfo.cpp
  lib/Target/Lanai/LanaiInstrInfo.h
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86InstrInfo.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54846.175095.patch
Type: text/x-patch
Size: 36383 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181123/3136358d/attachment-0001.bin>


More information about the llvm-commits mailing list