[PATCH] D58232: GlobalISel: Don't materialize immarg arguments to intrinsics

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 14 05:20:49 PST 2019


arsenm created this revision.
arsenm added reviewers: aemerson, aditya_nandakumar, dsanders, ab, t.p.northover, paquette, volkan, qcolombet.
Herald added subscribers: Petar.Avramovic, javed.absar, kristof.beyls, rovka, nhaehnle, wdng, jvesely.

Since now intrinsics can define what parameters are required to be
immediates, avoid using registers for them. This will be more
convenient to work with, and avoids a few issues that SelectionDAG
dealt with by using TargetConstant. Intrinsics could potentially want
a constant that isn't a legal register type. Also, since G_CONSTANT is
subject to CSE and legalization, transforms could potentially obscure
the value (and create extra work for the selector).


https://reviews.llvm.org/D58232

Files:
  lib/CodeGen/GlobalISel/IRTranslator.cpp
  test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
  test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgcn-sendmsg.ll
  test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_vs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D58232.186791.patch
Type: text/x-patch
Size: 5547 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190214/03ddfdad/attachment.bin>


More information about the llvm-commits mailing list