[PATCH] D64953: GlobalISel: Support physical register inputs in patterns

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 18 15:24:01 PDT 2019


arsenm created this revision.
arsenm added reviewers: dsanders, aemerson.
Herald added subscribers: Petar.Avramovic, kristof.beyls, tpr, javed.absar, rovka, nhaehnle, wdng, jvesely.

The current matchers seem to not like anonymous operands, so just use
the name of the register as a dummy name.

      

If the same name of the physical register is used, it treats them as
needing to be the same operand. I'm not sure if this is necessarily
useful or makes any sense. It may be a useful behavior for tied
operands?

      

I'm also not sure if this should verify the register bank of the input
matches the physical register class. This doesn't work on AMDGPU as-is
because it fails to find the registser class for M0 for some reason,
and for wzr on AArch64.


https://reviews.llvm.org/D64953

Files:
  include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
  lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
  test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.s.sendmsg.mir
  test/TableGen/gisel-physreg-input.td
  utils/TableGen/GlobalISelEmitter.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64953.210689.patch
Type: text/x-patch
Size: 14417 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190718/06d0e08b/attachment.bin>


More information about the llvm-commits mailing list