[AMDGPU] Remove fix up operand from SI_ELSE
authorCarl Ritson <carl.ritson@amd.com>
Tue, 20 Oct 2020 09:11:51 +0000 (18:11 +0900)
committerCarl Ritson <carl.ritson@amd.com>
Tue, 20 Oct 2020 10:15:21 +0000 (19:15 +0900)
commitbe2afbd019de37f1da1af9d6224972deac6f3792
tree54d17286d5bf6dff875ca6a93f5d0333c891ae49
parentd99b2a976a37f5a63117086d464df40c124f5777
[AMDGPU] Remove fix up operand from SI_ELSE

Remove immediate operand from SI_ELSE which indicates if EXEC has
been modified.  Instead always emit code that handles EXEC and
remove unnecessary instructions during pre-RA optimisation.

This facilitates passes (i.e. SIWholeQuadMode) adding exec mask
manipulation post control flow lowering, and pre control flow
lower passes do not need to be aware of SI_ELSE handling.

Reviewed By: nhaehnle

Differential Revision: https://reviews.llvm.org/D89644
llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
llvm/lib/Target/AMDGPU/SIInstructions.td
llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-brcond.mir
llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir