LLVM/project ac7971cllvm/lib/Target/AMDGPU AMDGPUGlobalISelDivergenceLowering.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel divergence-divergent-i1-used-outside-loop.mir divergence-divergent-i1-used-outside-loop.ll

AMDGPU/GlobalISel: Temporal divergence lowering i1

Use of i1 outside of the cycle, both uniform and divergent,
is lane mask(in sgpr) that contains i1 at iteration that lane
exited the cycle.
Create phi that merges lane mask across all iterations.
DeltaFile
+266-128llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.mir
+191-123llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-used-outside-loop.ll
+103-88llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.mir
+64-59llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-structurizer.ll
+55-34llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.mir
+85-0llvm/lib/Target/AMDGPU/AMDGPUGlobalISelDivergenceLowering.cpp
+36-23llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-temporal-divergent-i1.ll
+33-19llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.mir
+20-10llvm/test/CodeGen/AMDGPU/GlobalISel/divergence-divergent-i1-phis-no-lane-mask-merging.ll
+853-4849 files

UnifiedSplitRaw