[PATCH] D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 06:33:11 PDT 2020


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

Predicates with 'let PredicateCodeUsesOperands = 1' want to examine
matched operands. When we encounter predicate code that uses operands,
analyze its named operand arguments and create a map between argument
index and name. Later, when leaf node with name is encountered,
emit GIM_RecordNamedOperand that will store that operand at its
argument index in a operand list. This operand list will be argument
to c++ code of the predicate.


https://reviews.llvm.org/D87285

Files:
  llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  llvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
  llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
  llvm/lib/Target/AMDGPU/VOP3Instructions.td
  llvm/test/CodeGen/AMDGPU/GlobalISel/add_shl.ll
  llvm/test/TableGen/GlobalISelEmitter.td
  llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
  llvm/utils/TableGen/GlobalISelEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87285.290469.patch
Type: text/x-patch
Size: 26197 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200908/79cd5c59/attachment-0001.bin>


More information about the llvm-commits mailing list