[all-commits] [llvm/llvm-project] 360aff: [AMDGPU] Simplify nested SI_END_CF

Stanislav Mekhanoshin via All-commits all-commits at lists.llvm.org
Thu Mar 12 11:39:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 360aff0493e6d089c592e5954024795ead0c69d1
      https://github.com/llvm/llvm-project/commit/360aff0493e6d089c592e5954024795ead0c69d1
  Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
  Date:   2020-03-12 (Thu, 12 Mar 2020)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
    M llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll

  Log Message:
  -----------
  [AMDGPU] Simplify nested SI_END_CF

This is to replace the optimization from the SIOptimizeExecMaskingPreRA.
We have less opportunities in the control flow lowering because many
VGPR copies are still in place and will be removed later, but we know
for sure an instruction is SI_END_CF and not just an arbitrary S_OR_B64
with EXEC.

The subsequent change needs to convert s_and_saveexec into s_and and
address new TODO lines in tests, then code block guarded by the
-amdgpu-remove-redundant-endcf option in the pre-RA exec mask optimizer
will be removed.

Differential Revision: https://reviews.llvm.org/D76033




More information about the All-commits mailing list