[PATCH] D86294: [RFC] AMDGPU/GlobalISel: Look through copies in GIM_CheckOpcode and add post-isel hook

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 08:12:55 PDT 2020


Petar.Avramovic created this revision.
Petar.Avramovic added reviewers: foad, arsenm.
Herald added subscribers: llvm-commits, kerbowa, jfb, atanasyan, hiraditya, t-tye, tpr, dstuttard, rovka, yaxunl, nhaehnle, jvesely, kzhuravl, sdardis.
Herald added a project: LLVM.
Petar.Avramovic requested review of this revision.
Herald added a subscriber: wdng.

Look through copy in GIM_CheckOpcode allows selection of a few extra patterns.
However selected instructions might require additional processing since td files don't deal with e.g. constant bus issues.
Allow targets to call the AdjustInstrPostInstrSelection (that is called in instr emit phase in sdag) in global-isel after register classes have been selected.


https://reviews.llvm.org/D86294

Files:
  llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.h
  llvm/test/CodeGen/AMDGPU/GlobalISel/add.v2i16.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i16.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.i8.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-and-or.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-xor3.mir
  llvm/test/CodeGen/AMDGPU/GlobalISel/shlN_add.ll
  llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86294.286821.patch
Type: text/x-patch
Size: 28053 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200820/a0e52dfc/attachment-0001.bin>


More information about the llvm-commits mailing list