[llvm] 674ee4d - [LoopSink] Use MemorySSA with legacy pass manager
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 7 00:40:42 PDT 2022
Author: Nikita Popov
Date: 2022-04-07T09:40:29+02:00
New Revision: 674ee4d353ede9bbcb233aeb5e641ef4e17c7897
URL: https://github.com/llvm/llvm-project/commit/674ee4d353ede9bbcb233aeb5e641ef4e17c7897
DIFF: https://github.com/llvm/llvm-project/commit/674ee4d353ede9bbcb233aeb5e641ef4e17c7897.diff
LOG: [LoopSink] Use MemorySSA with legacy pass manager
LoopSink with the legacy pass manager still uses AST, because we
can't compute MemorySSA conditionally. I think now that the legacy
pass manager will be removed soon(TM) we don't need to care about
compile-time impact here anymore. Additionally, since MemorySSA is
no longer eagerly optimized, the impact is actually not that high
anymore (~0.2% geomean regression on CTMark).
This just makes legacy PM and new PM behavior line up -- as a
followup I'll drop these options entirely and make MemorySSA use
mandatory.
Differential Revision: https://reviews.llvm.org/D123216
Added:
Modified:
llvm/lib/Transforms/Scalar/LoopSink.cpp
llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Scalar/LoopSink.cpp b/llvm/lib/Transforms/Scalar/LoopSink.cpp
index e3d8dd7deef5b..746c40b97de1c 100644
--- a/llvm/lib/Transforms/Scalar/LoopSink.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopSink.cpp
@@ -70,7 +70,7 @@ static cl::opt<bool> EnableMSSAInLoopSink(
cl::desc("Enable MemorySSA for LoopSink in new pass manager"));
static cl::opt<bool> EnableMSSAInLegacyLoopSink(
- "enable-mssa-in-legacy-loop-sink", cl::Hidden, cl::init(false),
+ "enable-mssa-in-legacy-loop-sink", cl::Hidden, cl::init(true),
cl::desc("Enable MemorySSA for LoopSink in legacy pass manager"));
/// Return adjusted total frequency of \p BBs.
diff --git a/llvm/test/CodeGen/AMDGPU/opt-pipeline.ll b/llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
index c42d8642fcabf..15d8e8f6ec799 100644
--- a/llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
+++ b/llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
@@ -297,6 +297,7 @@
; GCN-O1-NEXT: Basic Alias Analysis (stateless AA impl)
; GCN-O1-NEXT: Function Alias Analysis Results
; GCN-O1-NEXT: Scalar Evolution Analysis
+; GCN-O1-NEXT: Memory SSA
; GCN-O1-NEXT: Block Frequency Analysis
; GCN-O1-NEXT: Loop Pass Manager
; GCN-O1-NEXT: Loop Sink
@@ -656,6 +657,7 @@
; GCN-O2-NEXT: Basic Alias Analysis (stateless AA impl)
; GCN-O2-NEXT: Function Alias Analysis Results
; GCN-O2-NEXT: Scalar Evolution Analysis
+; GCN-O2-NEXT: Memory SSA
; GCN-O2-NEXT: Block Frequency Analysis
; GCN-O2-NEXT: Loop Pass Manager
; GCN-O2-NEXT: Loop Sink
@@ -1020,6 +1022,7 @@
; GCN-O3-NEXT: Basic Alias Analysis (stateless AA impl)
; GCN-O3-NEXT: Function Alias Analysis Results
; GCN-O3-NEXT: Scalar Evolution Analysis
+; GCN-O3-NEXT: Memory SSA
; GCN-O3-NEXT: Block Frequency Analysis
; GCN-O3-NEXT: Loop Pass Manager
; GCN-O3-NEXT: Loop Sink
More information about the llvm-commits
mailing list