[all-commits] [llvm/llvm-project] 208332: [AMDGPU] Add Optimize VGPR LiveRange Pass.
Ruiling, Song via All-commits
all-commits at lists.llvm.org
Mon Jun 21 00:27:26 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 208332de8abf126b6fb5590bea47cd12257bc064
https://github.com/llvm/llvm-project/commit/208332de8abf126b6fb5590bea47cd12257bc064
Author: Ruiling Song <ruiling.song at amd.com>
Date: 2021-06-21 (Mon, 21 Jun 2021)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/CMakeLists.txt
A llvm/lib/Target/AMDGPU/SIOptimizeVGPRLiveRange.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/bypass-div.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/sgpr-control-flow.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
A llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
A llvm/test/CodeGen/AMDGPU/vgpr-liverange.ll
Log Message:
-----------
[AMDGPU] Add Optimize VGPR LiveRange Pass.
This pass aims to optimize VGPR live-range in a typical divergent if-else
control flow. For example:
def(a)
if(cond)
use(a)
... // A
else
use(a)
As AMDGPU access vgpr with respect to active-mask, we can mark `a` as
dead in region A. For details, please refer to the comments in
implementation file.
The pass is enabled by default, the frontend can disable it through
"-amdgpu-opt-vgpr-liverange=false".
Differential Revision: https://reviews.llvm.org/D102212
More information about the All-commits
mailing list