[PATCH] D87446: [AMDGPU] Enable scheduling around FP MODE-setting instructions

Jay Foad via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 10 03:43:00 PDT 2020


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

Pre-gfx10 all MODE-setting instructions were S_SETREG_B32 which is
marked as having unmodeled side effects, which makes the machine
scheduler treat it as a barrier. Now that we have proper implicit $mode
operands we can use a no-side-effects S_SETMODE_B32 pseudo instead for
setregs that only touch the FP MODE bits, to give the scheduler more
freedom.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D87446

Files:
  llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
  llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIModeRegister.cpp
  llvm/lib/Target/AMDGPU/SOPInstructions.td
  llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.setreg.ll
  llvm/test/CodeGen/AMDGPU/fdiv-nofpexcept.ll
  llvm/test/CodeGen/AMDGPU/frem.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D87446.290929.patch
Type: text/x-patch
Size: 16087 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200910/ed7ecfa7/attachment.bin>


More information about the llvm-commits mailing list