diff options
author | Petar Avramovic <Petar.Avramovic@amd.com> | 2023-12-13 16:42:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-13 16:42:56 +0100 |
commit | 6892c175c565e59cf485ada6b1febd41b4666414 (patch) | |
tree | 7a8c3e41808e3a977abf81a72a4c89bbabac41f4 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | ae2f8167eefbc78c6b6408c9ee3b7c7965ed596a (diff) | |
download | llvm-6892c175c565e59cf485ada6b1febd41b4666414.zip llvm-6892c175c565e59cf485ada6b1febd41b4666414.tar.gz llvm-6892c175c565e59cf485ada6b1febd41b4666414.tar.bz2 |
AMDGPU/GlobalISel: add AMDGPUGlobalISelDivergenceLowering pass (#75340)
Add empty AMDGPUGlobalISelDivergenceLowering pass. This pass will
implement
- selection of divergent i1 phis as lane mask phis, requires lane mask
merging in some cases
- lower uses of divergent i1 values outside of the cycle using lane mask
merging
- lowering of all cases of temporal divergence:
- lower uses of uniform i1 values outside of the cycle using lane mask
merging
- lower uses of uniform non-i1 values outside of the cycle using a copy
to vgpr inside of the cycle
Add very detailed set of regression tests for cases mentioned above.
patch 1 from: https://github.com/llvm/llvm-project/pull/73337
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions