[PATCH] D118250: AMDGPU: Mark control flow intrinsics non-duplicable

Ruiling, Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 26 07:19:23 PST 2022


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

This is used to stop tail-duplicating blocks with structured control
flow intrinsics. Duplicating such blocks brings no benefit but just
increase the complexity of the CFG, make structured CFG irreducible.
This is attempt to make us keeping structured CFG before register
allocation. I believe we should also stop duplicating branching
on EXEC/VCC, while it should be ok for branching on SCC. But I would
leave it as a future separate change.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D118250

Files:
  llvm/lib/Target/AMDGPU/SIInstructions.td
  llvm/test/CodeGen/AMDGPU/stop-tail-duplicate-cfg-intrinsic.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118250.403261.patch
Type: text/x-patch
Size: 5095 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220126/8a1f5a47/attachment.bin>


More information about the llvm-commits mailing list