[AMDGPU] Disable nested endcf collapse
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Tue, 10 Mar 2020 20:29:11 +0000 (13:29 -0700)
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Wed, 11 Mar 2020 18:24:20 +0000 (11:24 -0700)
commit9801e5469b4e4cbf93b80eb57f8dfeabf65f6714
tree53de99440b7c8a7f2e6fcb9a62e64142b5f85878
parentced0dd8e5104eff47cefdf3701d4980546d9afc5
[AMDGPU] Disable nested endcf collapse

The assumption is that conditional regions are perfectly nested
and a mask restored at the exit from the inner block will be
completely covered by a mask restored in the outer.

It turns out with our current structurizer this is not always
the case.

Disable the optimization for now, but I want to keep it around
for a while to either try after further structurizer changes or
to move it into control flow lowering where we have more info
and reuse the test.

Differential Revision: https://reviews.llvm.org/D75958
llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
llvm/test/CodeGen/AMDGPU/collapse-endcf.mir