[Mlir-commits] [clang] [llvm] [mlir] [polly] [Passes] Remove Os and Oz optimization pipelines (PR #191363)
Nikita Popov
llvmlistbot at llvm.org
Tue Apr 21 08:10:30 PDT 2026
https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/191363
>From f24f3c763d09d43bce38e246c3f46298e0089898 Mon Sep 17 00:00:00 2001
From: Nikita Popov <npopov at redhat.com>
Date: Fri, 10 Apr 2026 09:51:40 +0200
Subject: [PATCH] [Passes] Remove Os and Oz optimization pipelines
These should use O2 with the optsize or minsize attributes instead.
This enforces that there is divergence between pipeline-level Os/Oz
and function-level Os/Oz at an architectural level.
---
clang/lib/CodeGen/BackendUtil.cpp | 14 +-
llvm/include/llvm/Passes/OptimizationLevel.h | 39 +--
llvm/lib/Passes/OptimizationLevel.cpp | 22 +-
llvm/lib/Passes/PassBuilder.cpp | 11 +-
llvm/lib/Passes/PassRegistry.def | 3 +-
.../FunctionPropertiesAnalysis/pipeline.ll | 1 -
llvm/test/Analysis/InstCount/pipeline.ll | 1 -
.../CodeGen/Hexagon/glob-align-volatile.ll | 2 +-
llvm/test/Other/function-simplification.ll | 12 +-
llvm/test/Other/new-pm-defaults.ll | 102 ++++----
llvm/test/Other/new-pm-lto-defaults.ll | 234 +++++++++---------
llvm/test/Other/new-pm-pgo-preinline.ll | 33 ++-
.../Other/new-pm-thinlto-postlink-defaults.ll | 72 +++---
.../new-pm-thinlto-postlink-pgo-defaults.ll | 64 +++--
...-pm-thinlto-postlink-samplepgo-defaults.ll | 66 +++--
.../Other/new-pm-thinlto-prelink-defaults.ll | 86 +++----
.../new-pm-thinlto-prelink-pgo-defaults.ll | 66 +++--
...w-pm-thinlto-prelink-samplepgo-defaults.ll | 64 +++--
llvm/test/Other/opt-On.ll | 2 -
llvm/test/Other/opt-Os-Oz.ll | 5 +
llvm/test/Other/opt-hot-cold-split.ll | 20 +-
llvm/test/Other/optimize-inrange-gep.ll | 2 -
.../Other/pipeline-callbacks-string-api.ll | 2 +-
.../Inline/always-inline-phase-ordering.ll | 2 +-
llvm/test/Transforms/Inline/devirtualize.ll | 4 +-
llvm/test/Transforms/Inline/inline-optsize.ll | 23 +-
.../Transforms/Inline/inline-threshold.ll | 2 -
llvm/test/Transforms/LoopUnroll/opt-levels.ll | 47 ----
.../Transforms/LoopUnrollAndJam/opt-levels.ll | 61 -----
.../AArch64/Oz-and-forced-vectorize.ll | 2 +-
.../X86/loop-vectorize-metadata.ll | 174 ++-----------
.../always-inline-alloca-promotion.ll | 2 +-
.../Transforms/PhaseOrdering/cmp-logic.ll | 26 +-
.../enable-loop-header-duplication-oz.ll | 4 +-
.../PhaseOrdering/runtime-check-removal.ll | 6 +-
.../Transforms/SimpleLoopUnswitch/pipeline.ll | 2 -
mlir/lib/ExecutionEngine/OptUtils.cpp | 11 +-
polly/test/Support/defaultpipelines.ll | 2 -
38 files changed, 455 insertions(+), 836 deletions(-)
create mode 100644 llvm/test/Other/opt-Os-Oz.ll
delete mode 100644 llvm/test/Transforms/LoopUnroll/opt-levels.ll
delete mode 100644 llvm/test/Transforms/LoopUnrollAndJam/opt-levels.ll
diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp
index 3b50c465c1c29..f34c5c007f115 100644
--- a/clang/lib/CodeGen/BackendUtil.cpp
+++ b/clang/lib/CodeGen/BackendUtil.cpp
@@ -629,19 +629,7 @@ static OptimizationLevel mapToLevel(const CodeGenOptions &Opts) {
return OptimizationLevel::O1;
case 2:
- switch (Opts.OptimizeSize) {
- default:
- llvm_unreachable("Invalid optimization level for size!");
-
- case 0:
- return OptimizationLevel::O2;
-
- case 1:
- return OptimizationLevel::Os;
-
- case 2:
- return OptimizationLevel::Oz;
- }
+ return OptimizationLevel::O2;
case 3:
return OptimizationLevel::O3;
diff --git a/llvm/include/llvm/Passes/OptimizationLevel.h b/llvm/include/llvm/Passes/OptimizationLevel.h
index 1cf258f1ffd0d..c74407beb8598 100644
--- a/llvm/include/llvm/Passes/OptimizationLevel.h
+++ b/llvm/include/llvm/Passes/OptimizationLevel.h
@@ -22,16 +22,10 @@ namespace llvm {
class OptimizationLevel final {
unsigned SpeedLevel = 2;
- unsigned SizeLevel = 0;
- OptimizationLevel(unsigned SpeedLevel, unsigned SizeLevel)
- : SpeedLevel(SpeedLevel), SizeLevel(SizeLevel) {
- // Check that only valid combinations are passed.
+ OptimizationLevel(unsigned SpeedLevel) : SpeedLevel(SpeedLevel) {
+ // Check that only valid values are passed.
assert(SpeedLevel <= 3 &&
"Optimization level for speed should be 0, 1, 2, or 3");
- assert(SizeLevel <= 2 &&
- "Optimization level for size should be 0, 1, or 2");
- assert((SizeLevel == 0 || SpeedLevel == 2) &&
- "Optimize for size should be encoded with speedup level == 2");
}
public:
@@ -88,40 +82,17 @@ class OptimizationLevel final {
/// reasonably. This does not preclude very substantial constant factor
/// costs though.
LLVM_ABI static const OptimizationLevel O3;
- /// Similar to \c O2 but tries to optimize for small code size instead of
- /// fast execution without triggering significant incremental execution
- /// time slowdowns.
- ///
- /// The logic here is exactly the same as \c O2, but with code size and
- /// execution time metrics swapped.
- ///
- /// A consequence of the different core goal is that this should in general
- /// produce substantially smaller executables that still run in
- /// a reasonable amount of time.
- LLVM_ABI static const OptimizationLevel Os;
- /// A very specialized mode that will optimize for code size at any and all
- /// costs.
- ///
- /// This is useful primarily when there are absolute size limitations and
- /// any effort taken to reduce the size is worth it regardless of the
- /// execution time impact. You should expect this level to produce rather
- /// slow, but very small, code.
- LLVM_ABI static const OptimizationLevel Oz;
- bool isOptimizingForSpeed() const { return SizeLevel == 0 && SpeedLevel > 0; }
-
- bool isOptimizingForSize() const { return SizeLevel > 0; }
+ bool isOptimizingForSpeed() const { return SpeedLevel > 0; }
bool operator==(const OptimizationLevel &Other) const {
- return SizeLevel == Other.SizeLevel && SpeedLevel == Other.SpeedLevel;
+ return SpeedLevel == Other.SpeedLevel;
}
bool operator!=(const OptimizationLevel &Other) const {
- return SizeLevel != Other.SizeLevel || SpeedLevel != Other.SpeedLevel;
+ return SpeedLevel != Other.SpeedLevel;
}
unsigned getSpeedupLevel() const { return SpeedLevel; }
-
- unsigned getSizeLevel() const { return SizeLevel; }
};
} // namespace llvm
diff --git a/llvm/lib/Passes/OptimizationLevel.cpp b/llvm/lib/Passes/OptimizationLevel.cpp
index a1f8c1e14b1f0..68c2ddc475b40 100644
--- a/llvm/lib/Passes/OptimizationLevel.cpp
+++ b/llvm/lib/Passes/OptimizationLevel.cpp
@@ -10,21 +10,7 @@
using namespace llvm;
-const OptimizationLevel OptimizationLevel::O0 = {
- /*SpeedLevel*/ 0,
- /*SizeLevel*/ 0};
-const OptimizationLevel OptimizationLevel::O1 = {
- /*SpeedLevel*/ 1,
- /*SizeLevel*/ 0};
-const OptimizationLevel OptimizationLevel::O2 = {
- /*SpeedLevel*/ 2,
- /*SizeLevel*/ 0};
-const OptimizationLevel OptimizationLevel::O3 = {
- /*SpeedLevel*/ 3,
- /*SizeLevel*/ 0};
-const OptimizationLevel OptimizationLevel::Os = {
- /*SpeedLevel*/ 2,
- /*SizeLevel*/ 1};
-const OptimizationLevel OptimizationLevel::Oz = {
- /*SpeedLevel*/ 2,
- /*SizeLevel*/ 2};
+const OptimizationLevel OptimizationLevel::O0 = {0};
+const OptimizationLevel OptimizationLevel::O1 = {1};
+const OptimizationLevel OptimizationLevel::O2 = {2};
+const OptimizationLevel OptimizationLevel::O3 = {3};
diff --git a/llvm/lib/Passes/PassBuilder.cpp b/llvm/lib/Passes/PassBuilder.cpp
index c3f9f1261ab0a..f412e9e68307f 100644
--- a/llvm/lib/Passes/PassBuilder.cpp
+++ b/llvm/lib/Passes/PassBuilder.cpp
@@ -489,13 +489,17 @@ class RequireAllMachineFunctionPropertiesPass
} // namespace
static std::optional<OptimizationLevel> parseOptLevel(StringRef S) {
+ if (S == "Os" || S == "Oz")
+ reportFatalUsageError(
+ Twine("The optimization level \"") + S +
+ "\" is no longer supported. Use O2 in conjunction with the " +
+ (S == "Os" ? "optsize" : "minsize") + " attribute instead.");
+
return StringSwitch<std::optional<OptimizationLevel>>(S)
.Case("O0", OptimizationLevel::O0)
.Case("O1", OptimizationLevel::O1)
.Case("O2", OptimizationLevel::O2)
.Case("O3", OptimizationLevel::O3)
- .Case("Os", OptimizationLevel::Os)
- .Case("Oz", OptimizationLevel::Oz)
.Default(std::nullopt);
}
@@ -827,8 +831,7 @@ Expected<LoopUnrollOptions> parseLoopUnrollOptions(StringRef Params) {
StringRef ParamName;
std::tie(ParamName, Params) = Params.split(';');
std::optional<OptimizationLevel> OptLevel = parseOptLevel(ParamName);
- // Don't accept -Os/-Oz.
- if (OptLevel && !OptLevel->isOptimizingForSize()) {
+ if (OptLevel) {
UnrollOpts.setOptLevel(OptLevel->getSpeedupLevel());
continue;
}
diff --git a/llvm/lib/Passes/PassRegistry.def b/llvm/lib/Passes/PassRegistry.def
index bde6d0b3e5106..d2906eef8dd9d 100644
--- a/llvm/lib/Passes/PassRegistry.def
+++ b/llvm/lib/Passes/PassRegistry.def
@@ -162,8 +162,9 @@ MODULE_PASS("rtsan", RealtimeSanitizerPass())
MODULE_PASS("sample-profile", SampleProfileLoaderPass())
MODULE_PASS("sancov-module", SanitizerCoveragePass())
MODULE_PASS("sanmd-module", SanitizerBinaryMetadataPass())
+// TODO: Rename (or parameterize by optimization level)
MODULE_PASS("scc-oz-module-inliner",
- buildInlinerPipeline(OptimizationLevel::Oz,
+ buildInlinerPipeline(OptimizationLevel::O2,
ThinOrFullLTOPhase::None))
MODULE_PASS("shadow-stack-gc-lowering", ShadowStackGCLoweringPass())
MODULE_PASS("strip", StripSymbolsPass())
diff --git a/llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll b/llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
index 5ed52f5bf982d..4a44bd2895a1f 100644
--- a/llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
+++ b/llvm/test/Analysis/FunctionPropertiesAnalysis/pipeline.ll
@@ -4,7 +4,6 @@
; RUN: opt -stats -enable-detailed-function-properties -disable-output -O0 < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POSTNOOPT
; RUN: opt -stats -enable-detailed-function-properties -disable-output -O3 < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='lto<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
-; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='lto-pre-link<Os>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='lto-pre-link<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='thinlto<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='thinlto-pre-link<O2>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
diff --git a/llvm/test/Analysis/InstCount/pipeline.ll b/llvm/test/Analysis/InstCount/pipeline.ll
index bb203cca0a974..af2e9b26b2b5b 100644
--- a/llvm/test/Analysis/InstCount/pipeline.ll
+++ b/llvm/test/Analysis/InstCount/pipeline.ll
@@ -4,7 +4,6 @@
; RUN: opt -stats -disable-output -O0 < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POSTNOOPT
; RUN: opt -stats -disable-output -O3 < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -disable-output -passes='lto<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
-; RUN: opt -stats -disable-output -passes='lto-pre-link<Os>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -disable-output -passes='lto-pre-link<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -disable-output -passes='thinlto<O3>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
; RUN: opt -stats -disable-output -passes='thinlto-pre-link<O2>' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST
diff --git a/llvm/test/CodeGen/Hexagon/glob-align-volatile.ll b/llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
index 05ec0ae4c29cf..9944865d8c2ff 100644
--- a/llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
+++ b/llvm/test/CodeGen/Hexagon/glob-align-volatile.ll
@@ -1,4 +1,4 @@
-; RUN: opt -Os -S < %s | FileCheck %s
+; RUN: opt -O2 -S < %s | FileCheck %s
; Don't reset the alignment on the struct to 1.
; CHECK: align 4
diff --git a/llvm/test/Other/function-simplification.ll b/llvm/test/Other/function-simplification.ll
index e782aa4a56342..7da1f7994beac 100644
--- a/llvm/test/Other/function-simplification.ll
+++ b/llvm/test/Other/function-simplification.ll
@@ -1,18 +1,16 @@
; RUN: opt -passes='function-simplification<O1>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O1
-; RUN: opt -passes='function-simplification<O2>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ
-; RUN: opt -passes='function-simplification<O3>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ
-; RUN: opt -passes='function-simplification<Os>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ
-; RUN: opt -passes='function-simplification<Oz>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ
+; RUN: opt -passes='function-simplification<O2>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23
+; RUN: opt -passes='function-simplification<O3>' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23
; RUN: not opt -passes='function-simplification<O0>' -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O0
; O1: Running pass: EarlyCSEPass
; O1-NOT: Running pass: GVNPass
-; O23SZ: Running pass: EarlyCSEPass
-; O23SZ: Running pass: GVNPass
+; O23: Running pass: EarlyCSEPass
+; O23: Running pass: GVNPass
; O0: invalid function-simplification parameter 'O0'
define void @f() {
ret void
-}
\ No newline at end of file
+}
diff --git a/llvm/test/Other/new-pm-defaults.ll b/llvm/test/Other/new-pm-defaults.ll
index cebadfbda2fa5..9137f0ec1c8c3 100644
--- a/llvm/test/Other/new-pm-defaults.ll
+++ b/llvm/test/Other/new-pm-defaults.ll
@@ -12,88 +12,82 @@
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O1,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O2,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='default<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='default<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-LTO,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-LTO,CHECK-O2,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-peephole='no-op-function' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PEEPHOLE,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PEEPHOLE,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-late-loop-optimizations='no-op-loop' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-LOOP-LATE,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-LOOP-LATE,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-loop-optimizer-end='no-op-loop' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-LOOP-END,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-LOOP-END,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-scalar-optimizer-late='no-op-function' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-SCALAR-LATE,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-SCALAR-LATE,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-cgscc-optimizer-late='no-op-cgscc' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-CGSCC-LATE,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-CGSCC-LATE,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-vectorizer-start='no-op-function' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-VECTORIZER-START,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-VECTORIZER-START,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-vectorizer-end='no-op-function' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-VECTORIZER-END,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-VECTORIZER-END,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-pipeline-start='no-op-module' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-START,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-START,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-pipeline-early-simplification='no-op-module' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-EARLY-SIMPLIFICATION,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-EARLY-SIMPLIFICATION,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-pipeline-start='no-op-module' \
; RUN: -passes='lto-pre-link<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-LTO,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-START,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-LTO,CHECK-O3,%llvmcheckext,CHECK-EP-PIPELINE-START,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-optimizer-early='no-op-module' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-OPTIMIZER-EARLY,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-OPTIMIZER-EARLY,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes-ep-optimizer-last='no-op-module' \
; RUN: -passes='default<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-OPTIMIZER-LAST,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,%llvmcheckext,CHECK-EP-OPTIMIZER-LAST,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -enable-jump-table-to-switch -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-JUMP-TABLE-TO-SWITCH,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-JUMP-TABLE-TO-SWITCH,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -enable-matrix -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23SZ,%llvmcheckext,CHECK-MATRIX
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23,%llvmcheckext,CHECK-MATRIX
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -enable-merge-functions -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23SZ,%llvmcheckext,CHECK-MERGE-FUNCS
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23,%llvmcheckext,CHECK-MERGE-FUNCS
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -ir-outliner -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23SZ,%llvmcheckext,CHECK-IR-OUTLINER
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23,%llvmcheckext,CHECK-IR-OUTLINER
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='default<O3>' -hot-cold-split -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23SZ,%llvmcheckext,CHECK-HOT-COLD-SPLIT
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-DEFAULT,CHECK-O3,CHECK-O23,%llvmcheckext,CHECK-HOT-COLD-SPLIT
; CHECK-O: Running pass: Annotation2Metadata
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
@@ -153,23 +147,23 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-JUMP-TABLE-TO-SWITCH-NEXT: Running pass: JumpTableToSwitchPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: LoopAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: LoopAnalysis
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O1-NEXT: Running analysis: LoopAnalysis
; CHECK-O-NEXT: Running pass: LCSSAPass
@@ -192,10 +186,10 @@
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-EP-LOOP-END-NEXT: Running pass: NoOpLoopPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O1-NEXT: Running analysis: PostDominatorTreeAnalysis
; CHECK-O-NEXT: Running pass: SCCPPass
@@ -203,21 +197,21 @@
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running analysis: PostDominatorTreeAnalysis
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-EP-SCALAR-LATE-NEXT: Running pass: NoOpFunctionPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
@@ -261,7 +255,7 @@
; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
-; CHECK-O23SZ-NEXT: Running pass: SLPVectorizerPass
+; CHECK-O23-NEXT: Running pass: SLPVectorizerPass
; CHECK-O-NEXT: Running pass: VectorCombinePass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: LoopUnrollPass
diff --git a/llvm/test/Other/new-pm-lto-defaults.ll b/llvm/test/Other/new-pm-lto-defaults.ll
index 7e336c231d21e..6d6d30298f7be 100644
--- a/llvm/test/Other/new-pm-lto-defaults.ll
+++ b/llvm/test/Other/new-pm-lto-defaults.ll
@@ -9,29 +9,23 @@
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,CHECK-EP
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O2>' -S %s -passes-ep-full-link-time-optimization-early=no-op-module \
; RUN: -passes-ep-full-link-time-optimization-last=no-op-module 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-EP
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23,CHECK-EP
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O3>' -S %s -passes-ep-vectorizer-start='no-op-function' 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-EP-VECTORIZER-START
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23,CHECK-EP-VECTORIZER-START
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O3>' -S %s -passes-ep-vectorizer-end='no-op-function' 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-EP-VECTORIZER-END
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='lto<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='lto<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23,CHECK-EP-VECTORIZER-END
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='lto<O3>' -S %s -passes-ep-peephole='no-op-function' 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-EP-PEEPHOLE
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23,CHECK-EP-PEEPHOLE
; CHECK-EP: Running pass: NoOpModulePass
; CHECK-O: Running pass: CrossDSOCFIPass
@@ -40,128 +34,128 @@
; CHECK-O-NEXT: Running pass: InferFunctionAttrsPass
; CHECK-O-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}Module
; CHECK-O-NEXT: Running analysis: TargetLibraryAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CallSiteSplittingPass on foo
-; CHECK-O23SZ-NEXT: Running analysis: TargetLibraryAnalysis on foo
-; CHECK-O23SZ-NEXT: Running analysis: TargetIRAnalysis on foo
-; CHECK-O23SZ-NEXT: Running analysis: DominatorTreeAnalysis on foo
-; CHECK-O23SZ-NEXT: PGOIndirectCallPromotion
-; CHECK-O23SZ-NEXT: Running analysis: ProfileSummaryAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}SCC
-; CHECK-O23SZ-NEXT: Running analysis: LazyCallGraphAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
-; CHECK-O23SZ-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph{{.*}}>
-; CHECK-O23SZ-NEXT: Running pass: PostOrderFunctionAttrsPass
-; CHECK-O23SZ-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running analysis: BasicAA
-; CHECK-O23SZ-NEXT: Running analysis: AssumptionAnalysis on foo
-; CHECK-O23SZ-NEXT: Running analysis: ScopedNoAliasAA
-; CHECK-O23SZ-NEXT: Running analysis: TypeBasedAA
-; CHECK-O23SZ-NEXT: Running analysis: OuterAnalysisManagerProxy
-; CHECK-O23SZ-NEXT: Running pass: ArgumentPromotionPass
-; CHECK-O23SZ-NEXT: Running pass: SROAPass
-; CHECK-O23SZ-NEXT: Running pass: IPSCCPPass
-; CHECK-O23SZ-NEXT: Running pass: CalledValuePropagationPass
+; CHECK-O23-NEXT: Running pass: CallSiteSplittingPass on foo
+; CHECK-O23-NEXT: Running analysis: TargetLibraryAnalysis on foo
+; CHECK-O23-NEXT: Running analysis: TargetIRAnalysis on foo
+; CHECK-O23-NEXT: Running analysis: DominatorTreeAnalysis on foo
+; CHECK-O23-NEXT: PGOIndirectCallPromotion
+; CHECK-O23-NEXT: Running analysis: ProfileSummaryAnalysis
+; CHECK-O23-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis
+; CHECK-O23-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}SCC
+; CHECK-O23-NEXT: Running analysis: LazyCallGraphAnalysis
+; CHECK-O23-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy
+; CHECK-O23-NEXT: Running analysis: OuterAnalysisManagerProxy<{{.*}}LazyCallGraph{{.*}}>
+; CHECK-O23-NEXT: Running pass: PostOrderFunctionAttrsPass
+; CHECK-O23-NEXT: Running analysis: AAManager
+; CHECK-O23-NEXT: Running analysis: BasicAA
+; CHECK-O23-NEXT: Running analysis: AssumptionAnalysis on foo
+; CHECK-O23-NEXT: Running analysis: ScopedNoAliasAA
+; CHECK-O23-NEXT: Running analysis: TypeBasedAA
+; CHECK-O23-NEXT: Running analysis: OuterAnalysisManagerProxy
+; CHECK-O23-NEXT: Running pass: ArgumentPromotionPass
+; CHECK-O23-NEXT: Running pass: SROAPass
+; CHECK-O23-NEXT: Running pass: IPSCCPPass
+; CHECK-O23-NEXT: Running pass: CalledValuePropagationPass
; CHECK-O-NEXT: Running pass: ReversePostOrderFunctionAttrsPass
; CHECK-O1-NEXT: Running analysis: LazyCallGraphAnalysis
; CHECK-O1-NEXT: Running analysis: TargetLibraryAnalysis
; CHECK-O-NEXT: Running pass: GlobalSplitPass
; CHECK-O-NEXT: Running pass: WholeProgramDevirtPass
; CHECK-O-NEXT: Running pass: NoRecurseLTOInferencePass
-; CHECK-O23SZ-NEXT: Running pass: CoroEarlyPass
+; CHECK-O23-NEXT: Running pass: CoroEarlyPass
; CHECK-O1-NEXT: Running pass: LowerTypeTestsPass
-; CHECK-O23SZ-NEXT: Running pass: GlobalOptPass
-; CHECK-O23SZ-NEXT: Running pass: PromotePass
-; CHECK-O23SZ-NEXT: Running pass: ConstantMergePass
-; CHECK-O23SZ-NEXT: Running pass: DeadArgumentEliminationPass
-; CHECK-O23SZ-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running analysis: LastRunTrackingAnalysis
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: GlobalOptPass
+; CHECK-O23-NEXT: Running pass: PromotePass
+; CHECK-O23-NEXT: Running pass: ConstantMergePass
+; CHECK-O23-NEXT: Running pass: DeadArgumentEliminationPass
+; CHECK-O23-NEXT: Running pass: InstCombinePass
+; CHECK-O23-NEXT: Running analysis: LastRunTrackingAnalysis
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
-; CHECK-O23SZ-NEXT: Running pass: ExpandVariadicsPass
-; CHECK-O23SZ-NEXT: Running pass: ModuleInlinerWrapperPass
-; CHECK-O23SZ-NEXT: Running analysis: InlineAdvisorAnalysis
-; CHECK-O23SZ-NEXT: Running pass: InlinerPass
-; CHECK-O23SZ-NEXT: Running pass: InlinerPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: InlineAdvisorAnalysis
-; CHECK-O23SZ-NEXT: Running pass: GlobalOptPass
-; CHECK-O23SZ-NEXT: Running pass: OpenMPOptPass
-; CHECK-O23SZ-NEXT: Running pass: GlobalDCEPass
-; CHECK-O23SZ-NEXT: Running pass: ArgumentPromotionPass on (foo)
-; CHECK-O23SZ-NEXT: CoroSplitPass on (foo)
-; CHECK-O23SZ-NEXT: CoroAnnotationElidePass on (foo)
-; CHECK-O23SZ-NEXT: Running pass: InstCombinePass
+; CHECK-O23-NEXT: Running pass: ExpandVariadicsPass
+; CHECK-O23-NEXT: Running pass: ModuleInlinerWrapperPass
+; CHECK-O23-NEXT: Running analysis: InlineAdvisorAnalysis
+; CHECK-O23-NEXT: Running pass: InlinerPass
+; CHECK-O23-NEXT: Running pass: InlinerPass
+; CHECK-O23-NEXT: Invalidating analysis: InlineAdvisorAnalysis
+; CHECK-O23-NEXT: Running pass: GlobalOptPass
+; CHECK-O23-NEXT: Running pass: OpenMPOptPass
+; CHECK-O23-NEXT: Running pass: GlobalDCEPass
+; CHECK-O23-NEXT: Running pass: ArgumentPromotionPass on (foo)
+; CHECK-O23-NEXT: CoroSplitPass on (foo)
+; CHECK-O23-NEXT: CoroAnnotationElidePass on (foo)
+; CHECK-O23-NEXT: Running pass: InstCombinePass
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: LoopAnalysis on foo
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass on foo
-; CHECK-O23SZ-NEXT: Running pass: PostOrderFunctionAttrsPass on (foo)
-; CHECK-O23SZ-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
-; CHECK-O23SZ-NEXT: Running analysis: GlobalsAA on [module]
-; CHECK-O23SZ-NEXT: Running analysis: CallGraphAnalysis on [module]
-; CHECK-O23SZ-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}AAManager
-; CHECK-O23SZ-NEXT: Invalidating analysis: AAManager on foo
-; CHECK-O23SZ-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass on foo
-; CHECK-O23SZ-NEXT: Running analysis: MemorySSAAnalysis on foo
-; CHECK-O23SZ-NEXT: Running analysis: AAManager on foo
-; CHECK-O23SZ-NEXT: Running analysis: InnerAnalysisManagerProxy
-; CHECK-O23SZ-NEXT: Running pass: LICMPass on loop
-; CHECK-O23SZ-NEXT: Running pass: GVNPass on foo
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass on foo
-; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: DSEPass on foo
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass on foo
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: LoopAnalysis on foo
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis on foo
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SROAPass on foo
+; CHECK-O23-NEXT: Running pass: TailCallElimPass on foo
+; CHECK-O23-NEXT: Running pass: PostOrderFunctionAttrsPass on (foo)
+; CHECK-O23-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA
+; CHECK-O23-NEXT: Running analysis: GlobalsAA on [module]
+; CHECK-O23-NEXT: Running analysis: CallGraphAnalysis on [module]
+; CHECK-O23-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}AAManager
+; CHECK-O23-NEXT: Invalidating analysis: AAManager on foo
+; CHECK-O23-NEXT: Running pass: OpenMPOptCGSCCPass on (foo)
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass on foo
+; CHECK-O23-NEXT: Running pass: LCSSAPass on foo
+; CHECK-O23-NEXT: Running analysis: MemorySSAAnalysis on foo
+; CHECK-O23-NEXT: Running analysis: AAManager on foo
+; CHECK-O23-NEXT: Running analysis: InnerAnalysisManagerProxy
+; CHECK-O23-NEXT: Running pass: LICMPass on loop
+; CHECK-O23-NEXT: Running pass: GVNPass on foo
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis on foo
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass on foo
+; CHECK-O23-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
+; CHECK-O23-NEXT: Running pass: DSEPass on foo
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass on foo
; CHECK-EP-VECTORIZER-START-NEXT: Running pass: NoOpFunctionPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: IndVarSimplifyPass on loop
-; CHECK-O23SZ-NEXT: Running pass: LoopDeletionPass on loop
-; CHECK-O23SZ-NEXT: Running pass: LoopFullUnrollPass on loop
-; CHECK-O23SZ-NEXT: Running pass: LoopDistributePass on foo
-; CHECK-O23SZ-NEXT: Running analysis: LoopAccessAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopVectorizePass on foo
-; CHECK-O23SZ-NEXT: Running analysis: DemandedBitsAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: DropUnnecessaryAssumesPass on foo
-; CHECK-O23SZ-NEXT: Running pass: InferAlignmentPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopUnrollPass on foo
-; CHECK-O23SZ-NEXT: WarnMissedTransformationsPass on foo
-; CHECK-O23SZ-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: InstCombinePass on foo
-; CHECK-O23SZ-NEXT: Running pass: SimplifyCFGPass on foo
-; CHECK-O23SZ-NEXT: Running pass: SCCPPass on foo
-; CHECK-O23SZ-NEXT: Running pass: InstCombinePass on foo
-; CHECK-O23SZ-NEXT: Running pass: BDCEPass on foo
-; CHECK-O23SZ-NEXT: Running pass: SLPVectorizerPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass on foo
-; CHECK-O23SZ-NEXT: Running pass: InferAlignmentPass on foo
-; CHECK-O23SZ-NEXT: Running pass: InstCombinePass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: AlignmentFromAssumptionsPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass on foo
+; CHECK-O23-NEXT: Running pass: LCSSAPass on foo
+; CHECK-O23-NEXT: Running pass: IndVarSimplifyPass on loop
+; CHECK-O23-NEXT: Running pass: LoopDeletionPass on loop
+; CHECK-O23-NEXT: Running pass: LoopFullUnrollPass on loop
+; CHECK-O23-NEXT: Running pass: LoopDistributePass on foo
+; CHECK-O23-NEXT: Running analysis: LoopAccessAnalysis on foo
+; CHECK-O23-NEXT: Running pass: LoopVectorizePass on foo
+; CHECK-O23-NEXT: Running analysis: DemandedBitsAnalysis on foo
+; CHECK-O23-NEXT: Running pass: DropUnnecessaryAssumesPass on foo
+; CHECK-O23-NEXT: Running pass: InferAlignmentPass on foo
+; CHECK-O23-NEXT: Running pass: LoopUnrollPass on foo
+; CHECK-O23-NEXT: WarnMissedTransformationsPass on foo
+; CHECK-O23-NEXT: Running pass: SROAPass on foo
+; CHECK-O23-NEXT: Running pass: InstCombinePass on foo
+; CHECK-O23-NEXT: Running pass: SimplifyCFGPass on foo
+; CHECK-O23-NEXT: Running pass: SCCPPass on foo
+; CHECK-O23-NEXT: Running pass: InstCombinePass on foo
+; CHECK-O23-NEXT: Running pass: BDCEPass on foo
+; CHECK-O23-NEXT: Running pass: SLPVectorizerPass on foo
+; CHECK-O23-NEXT: Running pass: VectorCombinePass on foo
+; CHECK-O23-NEXT: Running pass: InferAlignmentPass on foo
+; CHECK-O23-NEXT: Running pass: InstCombinePass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: AlignmentFromAssumptionsPass on foo
; CHECK-EP-VECTORIZER-END-NEXT: Running pass: NoOpFunctionPass on foo
; CHECK-EP-PEEPHOLE-NEXT: Running pass: NoOpFunctionPass on foo
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LowerTypeTestsPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass on foo
+; CHECK-O23-NEXT: Running pass: LowerTypeTestsPass
; CHECK-O-NEXT: Running pass: DropTypeTestsPass
-; CHECK-O23SZ-NEXT: Running pass: LoopSink
-; CHECK-O23SZ-NEXT: Running pass: DivRemPairs
-; CHECK-O23SZ-NEXT: Running pass: SimplifyCFGPass
-; CHECK-O23SZ-NEXT: Running pass: EliminateAvailableExternallyPass
-; CHECK-O23SZ-NEXT: Running pass: GlobalDCEPass
-; CHECK-O23SZ-NEXT: Running pass: RelLookupTableConverterPass
-; CHECK-O23SZ-NEXT: Running pass: CGProfilePass
+; CHECK-O23-NEXT: Running pass: LoopSink
+; CHECK-O23-NEXT: Running pass: DivRemPairs
+; CHECK-O23-NEXT: Running pass: SimplifyCFGPass
+; CHECK-O23-NEXT: Running pass: EliminateAvailableExternallyPass
+; CHECK-O23-NEXT: Running pass: GlobalDCEPass
+; CHECK-O23-NEXT: Running pass: RelLookupTableConverterPass
+; CHECK-O23-NEXT: Running pass: CGProfilePass
; CHECK-O1-NEXT: Running pass: CoroConditionalWrapper
-; CHECK-O23SZ-NEXT: Running pass: CoroCleanupPass
+; CHECK-O23-NEXT: Running pass: CoroCleanupPass
; CHECK-O-NEXT: Running pass: AllocTokenPass
; CHECK-EP-NEXT: Running pass: NoOpModulePass
; CHECK-O-NEXT: Running pass: AnnotationRemarksPass on foo
diff --git a/llvm/test/Other/new-pm-pgo-preinline.ll b/llvm/test/Other/new-pm-pgo-preinline.ll
index f07a3728ba3d4..5d5f6fcd0f00c 100644
--- a/llvm/test/Other/new-pm-pgo-preinline.ll
+++ b/llvm/test/Other/new-pm-pgo-preinline.ll
@@ -1,21 +1,20 @@
-; RUN: opt -disable-verify -eagerly-invalidate-analyses=0 -debug-pass-manager -pgo-kind=pgo-instr-gen-pipeline -passes='default<Os>' -S %s 2>&1 | FileCheck %s --check-prefixes=CHECK-Osz
-; RUN: opt -disable-verify -eagerly-invalidate-analyses=0 -debug-pass-manager -pgo-kind=pgo-instr-gen-pipeline -passes='default<Oz>' -S %s 2>&1 | FileCheck %s --check-prefixes=CHECK-Osz
+; RUN: opt -disable-verify -eagerly-invalidate-analyses=0 -debug-pass-manager -pgo-kind=pgo-instr-gen-pipeline -passes='default<O2>' -S %s 2>&1 | FileCheck %s --check-prefixes=CHECK-O2
-; CHECK-Osz: Running pass: ModuleInlinerWrapperPass
-; CHECK-Osz-NEXT: Running analysis: InlineAdvisorAnalysis
-; CHECK-Osz-NEXT: Running analysis: InnerAnalysisManagerProxy
-; CHECK-Osz-NEXT: Running analysis: LazyCallGraphAnalysis
-; CHECK-Osz-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (foo)
-; CHECK-Osz-NEXT: Running analysis: OuterAnalysisManagerProxy
-; CHECK-Osz-NEXT: Running pass: InlinerPass on (foo)
-; CHECK-Osz-NEXT: Running pass: InlinerPass on (foo)
-; CHECK-Osz-NEXT: Running pass: SROAPass on foo
-; CHECK-Osz-NEXT: Running pass: EarlyCSEPass on foo
-; CHECK-Osz-NEXT: Running pass: SimplifyCFGPass on foo
-; CHECK-Osz-NEXT: Running pass: InstCombinePass on foo
-; CHECK-Osz-NEXT: Invalidating analysis: InlineAdvisorAnalysis
-; CHECK-Osz-NEXT: Running pass: GlobalDCEPass
-; CHECK-Osz-NEXT: Running pass: PGOInstrumentationGen
+; CHECK-O2: Running pass: ModuleInlinerWrapperPass
+; CHECK-O2-NEXT: Running analysis: InlineAdvisorAnalysis
+; CHECK-O2-NEXT: Running analysis: InnerAnalysisManagerProxy
+; CHECK-O2-NEXT: Running analysis: LazyCallGraphAnalysis
+; CHECK-O2-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (foo)
+; CHECK-O2-NEXT: Running analysis: OuterAnalysisManagerProxy
+; CHECK-O2-NEXT: Running pass: InlinerPass on (foo)
+; CHECK-O2-NEXT: Running pass: InlinerPass on (foo)
+; CHECK-O2-NEXT: Running pass: SROAPass on foo
+; CHECK-O2-NEXT: Running pass: EarlyCSEPass on foo
+; CHECK-O2-NEXT: Running pass: SimplifyCFGPass on foo
+; CHECK-O2-NEXT: Running pass: InstCombinePass on foo
+; CHECK-O2-NEXT: Invalidating analysis: InlineAdvisorAnalysis
+; CHECK-O2-NEXT: Running pass: GlobalDCEPass
+; CHECK-O2-NEXT: Running pass: PGOInstrumentationGen
define void @foo() {
ret void
diff --git a/llvm/test/Other/new-pm-thinlto-postlink-defaults.ll b/llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
index 3a3dbac0a7f02..06e9e1e988b33 100644
--- a/llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
@@ -13,25 +13,19 @@
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,CHECK-POSTLINK-O,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,CHECK-POSTLINK-O,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \
; RUN: -passes='thinlto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-optimizer-early='no-op-module' \
; RUN: -passes='thinlto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3,CHECK-POST-EP-OPT-EARLY
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3,CHECK-POST-EP-OPT-EARLY
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-optimizer-last='no-op-module' \
; RUN: -passes='thinlto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3,CHECK-POST-EP-OPT-LAST
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-POSTLINK-O,%llvmcheckext,CHECK-POSTLINK-O3,CHECK-POST-EP-OPT-LAST
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-POSTLINK-O,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,CHECK-POSTLINK-O,%llvmcheckext
; Suppress FileCheck --allow-unused-prefixes=false diagnostics.
; CHECK-NOEXT: {{^}}
@@ -86,21 +80,21 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: LoopAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: LoopAnalysis
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O1-NEXT: Running analysis: LoopAnalysis
; CHECK-O-NEXT: Running pass: LCSSAPass
@@ -121,31 +115,31 @@
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O1-NEXT: Running analysis: PostDominatorTreeAnalysis
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass on loop
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running analysis: PostDominatorTreeAnalysis
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass on loop
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
@@ -183,7 +177,7 @@
; CHECK-POSTLINK-O-NEXT: Running pass: LoopLoadEliminationPass
; CHECK-POSTLINK-O-NEXT: Running pass: InstCombinePass
; CHECK-POSTLINK-O-NEXT: Running pass: SimplifyCFGPass
-; CHECK-O23SZ-NEXT: Running pass: SLPVectorizerPass
+; CHECK-O23-NEXT: Running pass: SLPVectorizerPass
; CHECK-POSTLINK-O-NEXT: Running pass: VectorCombinePass
; CHECK-POSTLINK-O-NEXT: Running pass: InstCombinePass
; CHECK-POSTLINK-O-NEXT: Running pass: LoopUnrollPass
diff --git a/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
index 6f32df6c423f0..654c9ea154e29 100644
--- a/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
@@ -6,19 +6,13 @@
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \
; RUN: -passes='thinlto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,%llvmcheckext
; Suppress FileCheck --allow-unused-prefixes=false diagnostics.
; CHECK-NOEXT: {{^}}
@@ -74,20 +68,20 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O-NEXT: Running pass: LCSSAPass
; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis
@@ -107,29 +101,29 @@
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
@@ -168,7 +162,7 @@
; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
-; CHECK-O23SZ-NEXT: Running pass: SLPVectorizerPass
+; CHECK-O23-NEXT: Running pass: SLPVectorizerPass
; CHECK-O-NEXT: Running pass: VectorCombinePass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: LoopUnrollPass
diff --git a/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
index 14a33c1ba1432..0ad18be5328b7 100644
--- a/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
@@ -7,23 +7,15 @@
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -passes-ep-pipeline-start='no-op-module' \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto<O3>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
-; RUN: -passes='thinlto<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
-; RUN: -passes='thinlto<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,%llvmcheckext
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,%llvmcheckext
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,%llvmcheckext
; Suppress FileCheck --allow-unused-prefixes=false diagnostics.
; CHECK-NOEXT: {{^}}
@@ -83,20 +75,20 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O-NEXT: Running pass: LCSSAPass
; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis
@@ -116,29 +108,29 @@
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
@@ -177,7 +169,7 @@
; CHECK-O-NEXT: Running pass: LoopLoadEliminationPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
-; CHECK-O23SZ-NEXT: Running pass: SLPVectorizerPass
+; CHECK-O23-NEXT: Running pass: SLPVectorizerPass
; CHECK-O-NEXT: Running pass: VectorCombinePass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: LoopUnrollPass
diff --git a/llvm/test/Other/new-pm-thinlto-prelink-defaults.ll b/llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
index ad5b235ea3d4d..20d75913750a0 100644
--- a/llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-prelink-defaults.ll
@@ -16,46 +16,34 @@
; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O1,CHECK-O-NODIS
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O-NODIS
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,CHECK-O-NODIS
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -unified-lto -passes='lto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ,CHECK-O-NODIS
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23,CHECK-O-NODIS
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto-pre-link<O3>' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-PIPELINE-START
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-PIPELINE-START
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -unified-lto -passes='lto-pre-link<O3>' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-PIPELINE-START
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-PIPELINE-START
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto-pre-link<O3>' -S -passes-ep-optimizer-early='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-OPT-EARLY
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-OPT-EARLY
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -unified-lto -passes='lto-pre-link<O3>' -S -passes-ep-optimizer-early='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-OPT-EARLY
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-OPT-EARLY
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -passes='thinlto-pre-link<O3>' -S -passes-ep-optimizer-last='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-OPT-LAST
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-OPT-LAST
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -unified-lto -passes='lto-pre-link<O3>' -S -passes-ep-optimizer-last='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-O-NODIS,CHECK-EP-OPT-LAST
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto-pre-link<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-O-NODIS
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -unified-lto -passes='lto-pre-link<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-O-NODIS
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -passes='thinlto-pre-link<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-O-NODIS
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -unified-lto -passes='lto-pre-link<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ,CHECK-O-NODIS
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-O-NODIS,CHECK-EP-OPT-LAST
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -unified-lto -passes='lto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-DIS,CHECK-O,CHECK-O2,CHECK-O23
;
; Suppress FileCheck --allow-unused-prefixes=false diagnostics.
@@ -118,21 +106,21 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: LoopAnalysis
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: LoopAnalysis
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O1-NEXT: Running analysis: LoopAnalysis
; CHECK-O-NEXT: Running pass: LCSSAPass
@@ -153,31 +141,31 @@
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O1-NEXT: Running analysis: PostDominatorTreeAnalysis
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running analysis: PostDominatorTreeAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass on loop
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running analysis: PostDominatorTreeAnalysis
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass on loop
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
diff --git a/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
index 903f7dc4de78c..5e0ad37da0dee 100644
--- a/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
@@ -9,23 +9,15 @@
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \
; RUN: -passes='thinlto-pre-link<O3>' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-EP-PIPELINE-START
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \
-; RUN: -passes='thinlto-pre-link<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \
-; RUN: -passes='thinlto-pre-link<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-EP-PIPELINE-START
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23
;
; CHECK-O: Running pass: Annotation2Metadata
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
@@ -116,11 +108,11 @@
; CHECK-O-NEXT: Running analysis: ScopedNoAliasAA
; CHECK-O-NEXT: Running analysis: TypeBasedAA
; CHECK-O-NEXT: Running analysis: OuterAnalysisManagerProxy
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running analysis: LastRunTrackingAnalysis
@@ -128,14 +120,14 @@
; CHECK-O-NEXT: Running analysis: BranchProbabilityAnalysis on foo
; CHECK-O-NEXT: Running analysis: LoopAnalysis on foo
; CHECK-O-NEXT: Running analysis: PostDominatorTreeAnalysis on foo
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: PGOMemOPSizeOpt
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: PGOMemOPSizeOpt
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O-NEXT: Running pass: LCSSAPass
; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis
@@ -155,29 +147,29 @@
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: LoopFullUnrollPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
diff --git a/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll b/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
index e125f127d12ff..426144c12ec46 100644
--- a/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
+++ b/llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
@@ -7,23 +7,15 @@
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto-pre-link<O3>' -S -passes-ep-pipeline-start='no-op-module' %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23SZ,CHECK-EP-PIPELINE-START
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
-; RUN: -passes='thinlto-pre-link<Os>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
-; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager \
-; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
-; RUN: -passes='thinlto-pre-link<Oz>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O3,CHECK-O23,CHECK-EP-PIPELINE-START
; RUN: opt -disable-verify -verify-analysis-invalidation=0 -eagerly-invalidate-analyses=0 -debug-pass-manager -debug-info-for-profiling \
; RUN: -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-thinlto-samplepgo-defaults.prof' \
; RUN: -passes='thinlto-pre-link<O2>' -S %s 2>&1 \
-; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23SZ
+; RUN: | FileCheck %s --check-prefixes=CHECK-O,CHECK-O2,CHECK-O23
;
; CHECK-O: Running pass: Annotation2Metadata
; CHECK-O-NEXT: Running pass: ForceFunctionAttrsPass
@@ -88,20 +80,20 @@
; CHECK-O-NEXT: Running pass: EarlyCSEPass
; CHECK-O-NEXT: Running analysis: MemorySSAAnalysis
; CHECK-O-NEXT: Running analysis: AAManager
-; CHECK-O23SZ-NEXT: Running pass: SpeculativeExecutionPass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: SpeculativeExecutionPass
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: AggressiveInstCombinePass
+; CHECK-O23-NEXT: Running pass: AggressiveInstCombinePass
; CHECK-O-NEXT: Running pass: LibCallsShrinkWrapPass
-; CHECK-O23SZ-NEXT: Running pass: TailCallElimPass
+; CHECK-O23-NEXT: Running pass: TailCallElimPass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: ReassociatePass
-; CHECK-O23SZ-NEXT: Running pass: ConstraintEliminationPass
-; CHECK-O23SZ-NEXT: Running analysis: ScalarEvolutionAnalysis
+; CHECK-O23-NEXT: Running pass: ConstraintEliminationPass
+; CHECK-O23-NEXT: Running analysis: ScalarEvolutionAnalysis
; CHECK-O-NEXT: Running pass: LoopSimplifyPass
; CHECK-O-NEXT: Running pass: LCSSAPass
; CHECK-O1-NEXT: Running analysis: ScalarEvolutionAnalysis
@@ -120,29 +112,29 @@
; CHECK-O-NEXT: Running pass: IndVarSimplifyPass
; CHECK-O-NEXT: Running pass: LoopDeletionPass
; CHECK-O-NEXT: Running pass: SROAPass on foo
-; CHECK-O23SZ-NEXT: Running pass: VectorCombinePass
-; CHECK-O23SZ-NEXT: Running pass: MergedLoadStoreMotionPass
-; CHECK-O23SZ-NEXT: Running pass: GVNPass
-; CHECK-O23SZ-NEXT: Running analysis: MemoryDependenceAnalysis
+; CHECK-O23-NEXT: Running pass: VectorCombinePass
+; CHECK-O23-NEXT: Running pass: MergedLoadStoreMotionPass
+; CHECK-O23-NEXT: Running pass: GVNPass
+; CHECK-O23-NEXT: Running analysis: MemoryDependenceAnalysis
; CHECK-O1-NEXT: Running pass: MemCpyOptPass
; CHECK-O-NEXT: Running pass: SCCPPass
; CHECK-O-NEXT: Running pass: BDCEPass
; CHECK-O-NEXT: Running analysis: DemandedBitsAnalysis
; CHECK-O-NEXT: Running pass: InstCombinePass
-; CHECK-O23SZ-NEXT: Running pass: JumpThreadingPass
-; CHECK-O23SZ-NEXT: Running analysis: LazyValueAnalysis
-; CHECK-O23SZ-NEXT: Running pass: CorrelatedValuePropagationPass
-; CHECK-O23SZ-NEXT: Invalidating analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: JumpThreadingPass
+; CHECK-O23-NEXT: Running analysis: LazyValueAnalysis
+; CHECK-O23-NEXT: Running pass: CorrelatedValuePropagationPass
+; CHECK-O23-NEXT: Invalidating analysis: LazyValueAnalysis
; CHECK-O1-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: ADCEPass
-; CHECK-O23SZ-NEXT: Running pass: MemCpyOptPass
-; CHECK-O23SZ-NEXT: Running pass: DSEPass
-; CHECK-O23SZ-NEXT: Running analysis: CycleAnalysis
-; CHECK-O23SZ-NEXT: Running pass: MoveAutoInitPass on foo
-; CHECK-O23SZ-NEXT: Running pass: LoopSimplifyPass
-; CHECK-O23SZ-NEXT: Running pass: LCSSAPass
-; CHECK-O23SZ-NEXT: Running pass: LICMPass
-; CHECK-O23SZ-NEXT: Running pass: CoroElidePass
+; CHECK-O23-NEXT: Running pass: MemCpyOptPass
+; CHECK-O23-NEXT: Running pass: DSEPass
+; CHECK-O23-NEXT: Running analysis: CycleAnalysis
+; CHECK-O23-NEXT: Running pass: MoveAutoInitPass on foo
+; CHECK-O23-NEXT: Running pass: LoopSimplifyPass
+; CHECK-O23-NEXT: Running pass: LCSSAPass
+; CHECK-O23-NEXT: Running pass: LICMPass
+; CHECK-O23-NEXT: Running pass: CoroElidePass
; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Running pass: InstCombinePass
; CHECK-O-NEXT: Running pass: PostOrderFunctionAttrsPass
diff --git a/llvm/test/Other/opt-On.ll b/llvm/test/Other/opt-On.ll
index 522f35578f961..030286950008e 100644
--- a/llvm/test/Other/opt-On.ll
+++ b/llvm/test/Other/opt-On.ll
@@ -5,8 +5,6 @@
; RUN: opt -O1 < %s -S 2>&1 | FileCheck %s --check-prefix=OPT
; RUN: opt -O2 < %s -S 2>&1 | FileCheck %s --check-prefix=OPT
; RUN: opt -O3 < %s -S 2>&1 | FileCheck %s --check-prefix=OPT
-; RUN: opt -Os < %s -S 2>&1 | FileCheck %s --check-prefix=OPT
-; RUN: opt -Oz < %s -S 2>&1 | FileCheck %s --check-prefix=OPT
; RUN: opt -O2 -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=AA
; MULTIPLE: Cannot specify multiple -O#
diff --git a/llvm/test/Other/opt-Os-Oz.ll b/llvm/test/Other/opt-Os-Oz.ll
new file mode 100644
index 0000000000000..127cda823257d
--- /dev/null
+++ b/llvm/test/Other/opt-Os-Oz.ll
@@ -0,0 +1,5 @@
+; RUN: not opt -Os < %s -S 2>&1 | FileCheck %s --check-prefix=Os
+; RUN: not opt -Oz < %s -S 2>&1 | FileCheck %s --check-prefix=Oz
+
+; Os: The optimization level "Os" is no longer supported. Use O2 in conjunction with the optsize attribute instead.
+; Oz: The optimization level "Oz" is no longer supported. Use O2 in conjunction with the minsize attribute instead.
diff --git a/llvm/test/Other/opt-hot-cold-split.ll b/llvm/test/Other/opt-hot-cold-split.ll
index 21c713d35bb74..4948733a7d982 100644
--- a/llvm/test/Other/opt-hot-cold-split.ll
+++ b/llvm/test/Other/opt-hot-cold-split.ll
@@ -1,18 +1,18 @@
-; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='default<Os>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=DEFAULT-Os
-; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='lto-pre-link<Os>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=LTO-PRELINK-Os
-; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='thinlto-pre-link<Os>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=THINLTO-PRELINK-Os
-; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='lto<Os>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=LTO-POSTLINK-Os
-; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='thinlto<Os>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=THINLTO-POSTLINK-Os
+; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='default<O2>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=DEFAULT-O2
+; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='lto-pre-link<O2>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=LTO-PRELINK-O2
+; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='thinlto-pre-link<O2>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=THINLTO-PRELINK-O2
+; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='lto<O2>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=LTO-POSTLINK-O2
+; RUN: opt -mtriple=x86_64-- -hot-cold-split=true -passes='thinlto<O2>' -debug-pass-manager < %s -o /dev/null 2>&1 | FileCheck %s -check-prefix=THINLTO-POSTLINK-O2
; REQUIRES: asserts
; Splitting should occur late.
-; DEFAULT-Os: pass: HotColdSplittingPass
+; DEFAULT-O2: pass: HotColdSplittingPass
-; LTO-PRELINK-Os-NOT: pass: HotColdSplittingPass
+; LTO-PRELINK-O2-NOT: pass: HotColdSplittingPass
-; THINLTO-PRELINK-Os-NOT: Running pass: HotColdSplittingPass
+; THINLTO-PRELINK-O2-NOT: Running pass: HotColdSplittingPass
-; LTO-POSTLINK-Os: HotColdSplitting
-; THINLTO-POSTLINK-Os: HotColdSplitting
+; LTO-POSTLINK-O2: HotColdSplitting
+; THINLTO-POSTLINK-O2: HotColdSplitting
diff --git a/llvm/test/Other/optimize-inrange-gep.ll b/llvm/test/Other/optimize-inrange-gep.ll
index 1eab1dfd563c7..53b07a4f7305b 100644
--- a/llvm/test/Other/optimize-inrange-gep.ll
+++ b/llvm/test/Other/optimize-inrange-gep.ll
@@ -3,8 +3,6 @@
; RUN: opt -O1 -S < %s | FileCheck %s
; RUN: opt -O2 -S < %s | FileCheck %s
; RUN: opt -O3 -S < %s | FileCheck %s
-; RUN: opt -Os -S < %s | FileCheck %s
-; RUN: opt -Oz -S < %s | FileCheck %s
target datalayout = "e-p:64:64"
diff --git a/llvm/test/Other/pipeline-callbacks-string-api.ll b/llvm/test/Other/pipeline-callbacks-string-api.ll
index 3a4fe50219661..b8bd20b0fcdc6 100644
--- a/llvm/test/Other/pipeline-callbacks-string-api.ll
+++ b/llvm/test/Other/pipeline-callbacks-string-api.ll
@@ -3,7 +3,7 @@
; RUN: -passes='function(vectorizer-start-callbacks<O3>)' < %s 2>&1 | FileCheck %s --check-prefix=VECSTART
; RUN: opt -disable-output -print-pipeline-passes \
; RUN: -passes-ep-peephole='no-op-function' \
-; RUN: -passes='peephole-callbacks<Os>' < %s 2>&1 | FileCheck %s --check-prefix=PEEP
+; RUN: -passes='peephole-callbacks<O2>' < %s 2>&1 | FileCheck %s --check-prefix=PEEP
; RUN: opt -disable-output -print-pipeline-passes \
; RUN: -passes-ep-pipeline-start='no-op-module' \
; RUN: -passes='pipeline-start-callbacks<O1>' < %s 2>&1 | FileCheck %s --check-prefix=MODSTART
diff --git a/llvm/test/Transforms/Inline/always-inline-phase-ordering.ll b/llvm/test/Transforms/Inline/always-inline-phase-ordering.ll
index 1815132bf419d..1cfdaddd34a65 100644
--- a/llvm/test/Transforms/Inline/always-inline-phase-ordering.ll
+++ b/llvm/test/Transforms/Inline/always-inline-phase-ordering.ll
@@ -1,4 +1,4 @@
-; RUN: opt --Os -pass-remarks=inline -S < %s 2>&1 | FileCheck %s
+; RUN: opt -O2 -pass-remarks=inline -S < %s 2>&1 | FileCheck %s
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64e-apple-macosx13"
diff --git a/llvm/test/Transforms/Inline/devirtualize.ll b/llvm/test/Transforms/Inline/devirtualize.ll
index 4426d17533a4a..562f11eba06ba 100644
--- a/llvm/test/Transforms/Inline/devirtualize.ll
+++ b/llvm/test/Transforms/Inline/devirtualize.ll
@@ -1,5 +1,5 @@
-; RUN: opt -S -Os < %s | FileCheck %s
-; RUN: opt -S -aa-pipeline=basic-aa -passes='default<Os>' < %s | FileCheck %s
+; RUN: opt -S -O2 < %s | FileCheck %s
+; RUN: opt -S -aa-pipeline=basic-aa -passes='default<O2>' < %s | FileCheck %s
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-darwin10.0.0"
diff --git a/llvm/test/Transforms/Inline/inline-optsize.ll b/llvm/test/Transforms/Inline/inline-optsize.ll
index 0395b6a69d959..e2637f1e61545 100644
--- a/llvm/test/Transforms/Inline/inline-optsize.ll
+++ b/llvm/test/Transforms/Inline/inline-optsize.ll
@@ -1,11 +1,4 @@
-; RUN: opt -S -Oz < %s | FileCheck %s -check-prefix=OZ
-; RUN: opt -S -O2 < %s | FileCheck %s -check-prefix=O2
-; RUN: opt -S -Os < %s | FileCheck %s -check-prefix=OS
-
-; The inline threshold for a function with the optsize attribute is currently
-; the same as the global inline threshold for -Os. Check that the optsize
-; function attribute doesn't alter the function-specific inline threshold if the
-; global inline threshold is lower (as for -Oz).
+; RUN: opt -S -O2 < %s | FileCheck %s
@a = global i32 4
@@ -26,22 +19,18 @@ define i32 @inner() {
ret i32 %x5
}
-; @inner() should be inlined for -O2 and -Os but not for -Oz.
-; OZ: call
-; O2-NOT: call
-; OS-NOT: call
+; @inner() should be inlined for optsize
+; CHECK-NOT: call
define i32 @outer() optsize {
%r = call i32 @inner()
ret i32 %r
}
-; @inner() should not be inlined for -O2, -Os and -Oz.
-; OZ: call
-; O2: call
-; OS: call
+; @inner() should not be inlined minsize
+; CHECK: call
define i32 @outer2() minsize {
%r = call i32 @inner()
ret i32 %r
}
-declare void @extern()
\ No newline at end of file
+declare void @extern()
diff --git a/llvm/test/Transforms/Inline/inline-threshold.ll b/llvm/test/Transforms/Inline/inline-threshold.ll
index 8d9bca1487b2d..87a3a4298afc6 100644
--- a/llvm/test/Transforms/Inline/inline-threshold.ll
+++ b/llvm/test/Transforms/Inline/inline-threshold.ll
@@ -1,8 +1,6 @@
; Test that -inline-threshold overrides thresholds derived from opt levels.
; RUN: opt < %s -O2 -inline-threshold=500 -S | FileCheck %s
; RUN: opt < %s -O3 -inline-threshold=500 -S | FileCheck %s
-; RUN: opt < %s -Os -inline-threshold=500 -S | FileCheck %s
-; RUN: opt < %s -Oz -inline-threshold=500 -S | FileCheck %s
@a = global i32 4
diff --git a/llvm/test/Transforms/LoopUnroll/opt-levels.ll b/llvm/test/Transforms/LoopUnroll/opt-levels.ll
deleted file mode 100644
index e358876b51cfe..0000000000000
--- a/llvm/test/Transforms/LoopUnroll/opt-levels.ll
+++ /dev/null
@@ -1,47 +0,0 @@
-; RUN: opt < %s -S -passes="default<O2>" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O2
-; RUN: opt < %s -S -passes="default<O3>" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O3
-; RUN: opt < %s -S -passes="default<Os>" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=Os
-; RUN: opt < %s -S -passes="default<Oz>" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=Oz
-
-; Check that Os and Oz are optimized like O2, not like O3. To easily highlight
-; the behavior, we artificially disable unrolling for anything but O3 by setting
-; the default threshold to 0.
-
-; O3: loop1.preheader
-; O2-NOT: loop1.preheader
-; Os-NOT: loop1.preheader
-; Oz-NOT: loop1.preheader
-
-define void @unroll(i32 %iter, ptr %addr1, ptr %addr2) nounwind {
-entry:
- br label %loop1
-
-loop1:
- %iv1 = phi i32 [ 0, %entry ], [ %inc1, %loop1.latch ]
- %offset1 = getelementptr i32, ptr %addr1, i32 %iv1
- store i32 %iv1, ptr %offset1, align 4
- br label %loop2.header
-
-loop2.header:
- %e = icmp uge i32 %iter, 1
- br i1 %e, label %loop2, label %exit2
-
-loop2:
- %iv2 = phi i32 [ 0, %loop2.header ], [ %inc2, %loop2 ]
- %offset2 = getelementptr i32, ptr %addr2, i32 %iv2
- store i32 %iv2, ptr %offset2, align 4
- %inc2 = add i32 %iv2, 1
- %exitcnd2 = icmp uge i32 %inc2, %iter
- br i1 %exitcnd2, label %exit2, label %loop2
-
-exit2:
- br label %loop1.latch
-
-loop1.latch:
- %inc1 = add i32 %iv1, 1
- %exitcnd1 = icmp uge i32 %inc1, 1024
- br i1 %exitcnd1, label %exit, label %loop1
-
-exit:
- ret void
-}
diff --git a/llvm/test/Transforms/LoopUnrollAndJam/opt-levels.ll b/llvm/test/Transforms/LoopUnrollAndJam/opt-levels.ll
deleted file mode 100644
index 32ab86e237b1a..0000000000000
--- a/llvm/test/Transforms/LoopUnrollAndJam/opt-levels.ll
+++ /dev/null
@@ -1,61 +0,0 @@
-; RUN: opt < %s -S -passes="default<O2>" -unroll-runtime=true -enable-unroll-and-jam -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O2
-; RUN: opt < %s -S -passes="default<O3>" -unroll-runtime=true -enable-unroll-and-jam -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O3
-; RUN: opt < %s -S -passes="default<Os>" -unroll-runtime=true -enable-unroll-and-jam -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=Os
-; RUN: opt < %s -S -passes="default<Oz>" -unroll-runtime=true -enable-unroll-and-jam -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=Oz
-
-; Check that Os and Oz are optimized like O2, not like O3. To easily highlight
-; the behavior, we artificially disable unrolling for anything but O3 by setting
-; the default threshold to 0.
-
-; O3: for.inner.1
-; O2-NOT: for.inner.1
-; Os-NOT: for.inner.1
-; Oz-NOT: for.inner.1
-
-target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
-
-define void @test1(i32 %I, i32 %J, ptr noalias nocapture %A, ptr noalias nocapture readonly %B) #0 {
-entry:
- %cmp = icmp ne i32 %J, 0
- %cmpJ = icmp ne i32 %I, 0
- %or.cond = and i1 %cmp, %cmpJ
- br i1 %or.cond, label %for.outer.preheader, label %for.end
-
-for.outer.preheader:
- br label %for.outer
-
-for.outer:
- %i = phi i32 [ %add8, %for.latch ], [ 0, %for.outer.preheader ]
- br label %for.inner
-
-for.inner:
- %j = phi i32 [ 0, %for.outer ], [ %inc, %for.inner ]
- %sum = phi i32 [ 0, %for.outer ], [ %add, %for.inner ]
- %arrayidx = getelementptr inbounds i32, ptr %B, i32 %j
- %0 = load i32, ptr %arrayidx, align 4, !tbaa !5
- %add = add i32 %0, %sum
- %inc = add nuw i32 %j, 1
- %exitcond = icmp eq i32 %inc, %J
- br i1 %exitcond, label %for.latch, label %for.inner
-
-for.latch:
- %add.lcssa = phi i32 [ %add, %for.inner ]
- %arrayidx6 = getelementptr inbounds i32, ptr %A, i32 %i
- store i32 %add.lcssa, ptr %arrayidx6, align 4, !tbaa !5
- %add8 = add nuw i32 %i, 1
- %exitcond25 = icmp eq i32 %add8, %I
- br i1 %exitcond25, label %for.end.loopexit, label %for.outer
-
-for.end.loopexit:
- br label %for.end
-
-for.end:
- ret void
-}
-
-
-
-!5 = !{!6, !6, i64 0}
-!6 = !{!"int", !7, i64 0}
-!7 = !{!"omnipotent char", !8, i64 0}
-!8 = !{!"Simple C/C++ TBAA"}
diff --git a/llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll b/llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
index 547b090ca65b5..1f4dbc0e97a84 100644
--- a/llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
+++ b/llvm/test/Transforms/PhaseOrdering/AArch64/Oz-and-forced-vectorize.ll
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals none --version 6
-; RUN: opt -passes='default<Oz>' -S < %s | FileCheck %s
+; RUN: opt -passes='default<O2>' -S < %s | FileCheck %s
; Forcing vectorization should allow for more aggressive loop-rotation with
; -Oz, because LV requires rotated loops. Make sure the loop in @foo is
diff --git a/llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll b/llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll
index 13b8921335946..e27584bb421f1 100644
--- a/llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll
+++ b/llvm/test/Transforms/PhaseOrdering/X86/loop-vectorize-metadata.ll
@@ -3,8 +3,8 @@
; RUN: opt < %s -mcpu=corei7 -passes="default<O2>" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O2
; RUN: opt < %s -mcpu=corei7 -passes="default<O3>" -S -unroll-threshold=150 -unroll-allow-partial=0 | FileCheck %s --check-prefix=O3
; RUN: opt < %s -mcpu=corei7 -passes="default<O3>" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O3DEFAULT
-; RUN: opt < %s -mcpu=corei7 -passes="default<Os>" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Os
-; RUN: opt < %s -mcpu=corei7 -passes="default<Oz>" -force-attribute=minsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Oz
+; RUN: opt < %s -mcpu=corei7 -passes="default<O2>" -force-attribute=optsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Os
+; RUN: opt < %s -mcpu=corei7 -passes="default<O2>" -force-attribute=minsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Oz
; RUN: opt < %s -mcpu=corei7 -passes="default<O1>,loop-vectorize" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O1VEC2
; RUN: opt < %s -mcpu=corei7 -passes="default<O3>" -unroll-threshold=150 -vectorize-loops=false -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O3DIS
@@ -360,84 +360,18 @@ define i32 @enabled(ptr noalias nocapture %a, ptr noalias nocapture readonly %b,
; Os-NEXT: entry:
; Os-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[N:%.*]], i64 0
; Os-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT]], <4 x i32> poison, <4 x i32> zeroinitializer
-; Os-NEXT: [[TMP0:%.*]] = getelementptr inbounds nuw i8, ptr [[B:%.*]], i64 16
-; Os-NEXT: [[WIDE_LOAD:%.*]] = load <4 x i32>, ptr [[B]], align 4
-; Os-NEXT: [[WIDE_LOAD1:%.*]] = load <4 x i32>, ptr [[TMP0]], align 4
-; Os-NEXT: [[TMP1:%.*]] = add nsw <4 x i32> [[WIDE_LOAD]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP2:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP3:%.*]] = getelementptr inbounds nuw i8, ptr [[A:%.*]], i64 16
-; Os-NEXT: store <4 x i32> [[TMP1]], ptr [[A]], align 4
-; Os-NEXT: store <4 x i32> [[TMP2]], ptr [[TMP3]], align 4
-; Os-NEXT: [[TMP4:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 32
-; Os-NEXT: [[TMP5:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 48
-; Os-NEXT: [[WIDE_LOAD_1:%.*]] = load <4 x i32>, ptr [[TMP4]], align 4
-; Os-NEXT: [[WIDE_LOAD1_1:%.*]] = load <4 x i32>, ptr [[TMP5]], align 4
-; Os-NEXT: [[TMP6:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP7:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP8:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 32
-; Os-NEXT: [[TMP9:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 48
-; Os-NEXT: store <4 x i32> [[TMP6]], ptr [[TMP8]], align 4
-; Os-NEXT: store <4 x i32> [[TMP7]], ptr [[TMP9]], align 4
-; Os-NEXT: [[TMP10:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 64
-; Os-NEXT: [[TMP11:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 80
-; Os-NEXT: [[WIDE_LOAD_2:%.*]] = load <4 x i32>, ptr [[TMP10]], align 4
-; Os-NEXT: [[WIDE_LOAD1_2:%.*]] = load <4 x i32>, ptr [[TMP11]], align 4
-; Os-NEXT: [[TMP12:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_2]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP13:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_2]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP14:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 64
-; Os-NEXT: [[TMP15:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 80
-; Os-NEXT: store <4 x i32> [[TMP12]], ptr [[TMP14]], align 4
-; Os-NEXT: store <4 x i32> [[TMP13]], ptr [[TMP15]], align 4
-; Os-NEXT: [[TMP16:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 96
-; Os-NEXT: [[TMP17:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 112
-; Os-NEXT: [[WIDE_LOAD_3:%.*]] = load <4 x i32>, ptr [[TMP16]], align 4
-; Os-NEXT: [[WIDE_LOAD1_3:%.*]] = load <4 x i32>, ptr [[TMP17]], align 4
-; Os-NEXT: [[TMP18:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_3]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP19:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_3]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP20:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 96
-; Os-NEXT: [[TMP21:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 112
-; Os-NEXT: store <4 x i32> [[TMP18]], ptr [[TMP20]], align 4
-; Os-NEXT: store <4 x i32> [[TMP19]], ptr [[TMP21]], align 4
-; Os-NEXT: [[TMP22:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 128
-; Os-NEXT: [[TMP23:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 144
-; Os-NEXT: [[WIDE_LOAD_4:%.*]] = load <4 x i32>, ptr [[TMP22]], align 4
-; Os-NEXT: [[WIDE_LOAD1_4:%.*]] = load <4 x i32>, ptr [[TMP23]], align 4
-; Os-NEXT: [[TMP24:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_4]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP25:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_4]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP26:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 128
-; Os-NEXT: [[TMP27:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 144
-; Os-NEXT: store <4 x i32> [[TMP24]], ptr [[TMP26]], align 4
-; Os-NEXT: store <4 x i32> [[TMP25]], ptr [[TMP27]], align 4
-; Os-NEXT: [[TMP28:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 160
-; Os-NEXT: [[TMP29:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 176
-; Os-NEXT: [[WIDE_LOAD_5:%.*]] = load <4 x i32>, ptr [[TMP28]], align 4
-; Os-NEXT: [[WIDE_LOAD1_5:%.*]] = load <4 x i32>, ptr [[TMP29]], align 4
-; Os-NEXT: [[TMP30:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_5]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP31:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_5]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP32:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 160
-; Os-NEXT: [[TMP33:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 176
-; Os-NEXT: store <4 x i32> [[TMP30]], ptr [[TMP32]], align 4
-; Os-NEXT: store <4 x i32> [[TMP31]], ptr [[TMP33]], align 4
-; Os-NEXT: [[TMP34:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 192
-; Os-NEXT: [[TMP35:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 208
-; Os-NEXT: [[WIDE_LOAD_6:%.*]] = load <4 x i32>, ptr [[TMP34]], align 4
-; Os-NEXT: [[WIDE_LOAD1_6:%.*]] = load <4 x i32>, ptr [[TMP35]], align 4
-; Os-NEXT: [[TMP36:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_6]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP37:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_6]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP38:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 192
-; Os-NEXT: [[TMP39:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 208
-; Os-NEXT: store <4 x i32> [[TMP36]], ptr [[TMP38]], align 4
-; Os-NEXT: store <4 x i32> [[TMP37]], ptr [[TMP39]], align 4
-; Os-NEXT: [[TMP40:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 224
-; Os-NEXT: [[TMP41:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 240
-; Os-NEXT: [[WIDE_LOAD_7:%.*]] = load <4 x i32>, ptr [[TMP40]], align 4
+; Os-NEXT: br label [[VECTOR_BODY:%.*]]
+; Os: vector.body:
+; Os-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
+; Os-NEXT: [[TMP41:%.*]] = getelementptr inbounds nuw [4 x i8], ptr [[B:%.*]], i64 [[INDEX]]
; Os-NEXT: [[WIDE_LOAD1_7:%.*]] = load <4 x i32>, ptr [[TMP41]], align 4
-; Os-NEXT: [[TMP42:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_7]], [[BROADCAST_SPLAT]]
; Os-NEXT: [[TMP43:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_7]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP44:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 224
-; Os-NEXT: [[TMP45:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 240
-; Os-NEXT: store <4 x i32> [[TMP42]], ptr [[TMP44]], align 4
+; Os-NEXT: [[TMP45:%.*]] = getelementptr inbounds nuw [4 x i8], ptr [[A:%.*]], i64 [[INDEX]]
; Os-NEXT: store <4 x i32> [[TMP43]], ptr [[TMP45]], align 4
+; Os-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 4
+; Os-NEXT: [[TMP3:%.*]] = icmp eq i64 [[INDEX_NEXT]], 64
+; Os-NEXT: br i1 [[TMP3]], label [[FOR_END:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
+; Os: for.end:
; Os-NEXT: [[TMP46:%.*]] = load i32, ptr [[A]], align 4
; Os-NEXT: ret i32 [[TMP46]]
;
@@ -926,84 +860,18 @@ define i32 @nopragma(ptr noalias nocapture %a, ptr noalias nocapture readonly %b
; Os-NEXT: entry:
; Os-NEXT: [[BROADCAST_SPLATINSERT:%.*]] = insertelement <4 x i32> poison, i32 [[N:%.*]], i64 0
; Os-NEXT: [[BROADCAST_SPLAT:%.*]] = shufflevector <4 x i32> [[BROADCAST_SPLATINSERT]], <4 x i32> poison, <4 x i32> zeroinitializer
-; Os-NEXT: [[TMP0:%.*]] = getelementptr inbounds nuw i8, ptr [[B:%.*]], i64 16
-; Os-NEXT: [[WIDE_LOAD:%.*]] = load <4 x i32>, ptr [[B]], align 4
-; Os-NEXT: [[WIDE_LOAD1:%.*]] = load <4 x i32>, ptr [[TMP0]], align 4
-; Os-NEXT: [[TMP1:%.*]] = add nsw <4 x i32> [[WIDE_LOAD]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP2:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP3:%.*]] = getelementptr inbounds nuw i8, ptr [[A:%.*]], i64 16
-; Os-NEXT: store <4 x i32> [[TMP1]], ptr [[A]], align 4
-; Os-NEXT: store <4 x i32> [[TMP2]], ptr [[TMP3]], align 4
-; Os-NEXT: [[TMP4:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 32
-; Os-NEXT: [[TMP5:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 48
-; Os-NEXT: [[WIDE_LOAD_1:%.*]] = load <4 x i32>, ptr [[TMP4]], align 4
-; Os-NEXT: [[WIDE_LOAD1_1:%.*]] = load <4 x i32>, ptr [[TMP5]], align 4
-; Os-NEXT: [[TMP6:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP7:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_1]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP8:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 32
-; Os-NEXT: [[TMP9:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 48
-; Os-NEXT: store <4 x i32> [[TMP6]], ptr [[TMP8]], align 4
-; Os-NEXT: store <4 x i32> [[TMP7]], ptr [[TMP9]], align 4
-; Os-NEXT: [[TMP10:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 64
-; Os-NEXT: [[TMP11:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 80
-; Os-NEXT: [[WIDE_LOAD_2:%.*]] = load <4 x i32>, ptr [[TMP10]], align 4
-; Os-NEXT: [[WIDE_LOAD1_2:%.*]] = load <4 x i32>, ptr [[TMP11]], align 4
-; Os-NEXT: [[TMP12:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_2]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP13:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_2]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP14:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 64
-; Os-NEXT: [[TMP15:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 80
-; Os-NEXT: store <4 x i32> [[TMP12]], ptr [[TMP14]], align 4
-; Os-NEXT: store <4 x i32> [[TMP13]], ptr [[TMP15]], align 4
-; Os-NEXT: [[TMP16:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 96
-; Os-NEXT: [[TMP17:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 112
-; Os-NEXT: [[WIDE_LOAD_3:%.*]] = load <4 x i32>, ptr [[TMP16]], align 4
-; Os-NEXT: [[WIDE_LOAD1_3:%.*]] = load <4 x i32>, ptr [[TMP17]], align 4
-; Os-NEXT: [[TMP18:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_3]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP19:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_3]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP20:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 96
-; Os-NEXT: [[TMP21:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 112
-; Os-NEXT: store <4 x i32> [[TMP18]], ptr [[TMP20]], align 4
-; Os-NEXT: store <4 x i32> [[TMP19]], ptr [[TMP21]], align 4
-; Os-NEXT: [[TMP22:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 128
-; Os-NEXT: [[TMP23:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 144
-; Os-NEXT: [[WIDE_LOAD_4:%.*]] = load <4 x i32>, ptr [[TMP22]], align 4
-; Os-NEXT: [[WIDE_LOAD1_4:%.*]] = load <4 x i32>, ptr [[TMP23]], align 4
-; Os-NEXT: [[TMP24:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_4]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP25:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_4]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP26:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 128
-; Os-NEXT: [[TMP27:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 144
-; Os-NEXT: store <4 x i32> [[TMP24]], ptr [[TMP26]], align 4
-; Os-NEXT: store <4 x i32> [[TMP25]], ptr [[TMP27]], align 4
-; Os-NEXT: [[TMP28:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 160
-; Os-NEXT: [[TMP29:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 176
-; Os-NEXT: [[WIDE_LOAD_5:%.*]] = load <4 x i32>, ptr [[TMP28]], align 4
-; Os-NEXT: [[WIDE_LOAD1_5:%.*]] = load <4 x i32>, ptr [[TMP29]], align 4
-; Os-NEXT: [[TMP30:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_5]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP31:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_5]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP32:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 160
-; Os-NEXT: [[TMP33:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 176
-; Os-NEXT: store <4 x i32> [[TMP30]], ptr [[TMP32]], align 4
-; Os-NEXT: store <4 x i32> [[TMP31]], ptr [[TMP33]], align 4
-; Os-NEXT: [[TMP34:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 192
-; Os-NEXT: [[TMP35:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 208
-; Os-NEXT: [[WIDE_LOAD_6:%.*]] = load <4 x i32>, ptr [[TMP34]], align 4
-; Os-NEXT: [[WIDE_LOAD1_6:%.*]] = load <4 x i32>, ptr [[TMP35]], align 4
-; Os-NEXT: [[TMP36:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_6]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP37:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_6]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP38:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 192
-; Os-NEXT: [[TMP39:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 208
-; Os-NEXT: store <4 x i32> [[TMP36]], ptr [[TMP38]], align 4
-; Os-NEXT: store <4 x i32> [[TMP37]], ptr [[TMP39]], align 4
-; Os-NEXT: [[TMP40:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 224
-; Os-NEXT: [[TMP41:%.*]] = getelementptr inbounds nuw i8, ptr [[B]], i64 240
-; Os-NEXT: [[WIDE_LOAD_7:%.*]] = load <4 x i32>, ptr [[TMP40]], align 4
+; Os-NEXT: br label [[VECTOR_BODY:%.*]]
+; Os: vector.body:
+; Os-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
+; Os-NEXT: [[TMP41:%.*]] = getelementptr inbounds nuw [4 x i8], ptr [[B:%.*]], i64 [[INDEX]]
; Os-NEXT: [[WIDE_LOAD1_7:%.*]] = load <4 x i32>, ptr [[TMP41]], align 4
-; Os-NEXT: [[TMP42:%.*]] = add nsw <4 x i32> [[WIDE_LOAD_7]], [[BROADCAST_SPLAT]]
; Os-NEXT: [[TMP43:%.*]] = add nsw <4 x i32> [[WIDE_LOAD1_7]], [[BROADCAST_SPLAT]]
-; Os-NEXT: [[TMP44:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 224
-; Os-NEXT: [[TMP45:%.*]] = getelementptr inbounds nuw i8, ptr [[A]], i64 240
-; Os-NEXT: store <4 x i32> [[TMP42]], ptr [[TMP44]], align 4
+; Os-NEXT: [[TMP45:%.*]] = getelementptr inbounds nuw [4 x i8], ptr [[A:%.*]], i64 [[INDEX]]
; Os-NEXT: store <4 x i32> [[TMP43]], ptr [[TMP45]], align 4
+; Os-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 4
+; Os-NEXT: [[TMP3:%.*]] = icmp eq i64 [[INDEX_NEXT]], 64
+; Os-NEXT: br i1 [[TMP3]], label [[FOR_END:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP3:![0-9]+]]
+; Os: for.end:
; Os-NEXT: [[TMP46:%.*]] = load i32, ptr [[A]], align 4
; Os-NEXT: ret i32 [[TMP46]]
;
@@ -1219,7 +1087,7 @@ define i32 @disabled(ptr noalias nocapture %a, ptr noalias nocapture readonly %b
; Os-NEXT: store i32 [[ADD]], ptr [[ARRAYIDX2]], align 4
; Os-NEXT: [[INDVARS_IV_NEXT]] = add nuw nsw i64 [[INDVARS_IV]], 1
; Os-NEXT: [[EXITCOND:%.*]] = icmp eq i64 [[INDVARS_IV_NEXT]], 48
-; Os-NEXT: br i1 [[EXITCOND]], label [[FOR_END:%.*]], label [[FOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
+; Os-NEXT: br i1 [[EXITCOND]], label [[FOR_END:%.*]], label [[FOR_BODY]], !llvm.loop [[LOOP4:![0-9]+]]
; Os: for.end:
; Os-NEXT: [[TMP1:%.*]] = load i32, ptr [[A]], align 4
; Os-NEXT: ret i32 [[TMP1]]
diff --git a/llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll b/llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
index 92ea2c608fe53..1250fddd571f8 100644
--- a/llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
+++ b/llvm/test/Transforms/PhaseOrdering/always-inline-alloca-promotion.ll
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
-; RUN: opt --Os -S %s -o - | FileCheck %s
+; RUN: opt -O2 -S %s -o - | FileCheck %s
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128-Fn32"
target triple = "arm64e-apple-ios19.0.0"
diff --git a/llvm/test/Transforms/PhaseOrdering/cmp-logic.ll b/llvm/test/Transforms/PhaseOrdering/cmp-logic.ll
index 04eae7d2941d8..4efac572b634c 100644
--- a/llvm/test/Transforms/PhaseOrdering/cmp-logic.ll
+++ b/llvm/test/Transforms/PhaseOrdering/cmp-logic.ll
@@ -1,6 +1,6 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt -passes='default<O1>' -S < %s | FileCheck %s --check-prefixes=CHECK,O1
-; RUN: opt -passes='default<Oz>' -S < %s | FileCheck %s --check-prefixes=CHECK,OZ
+; RUN: opt -passes='default<O2>' -S < %s | FileCheck %s --check-prefixes=CHECK,O2
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
@@ -121,18 +121,18 @@ define i32 @PR56119(i32 %e.coerce) {
; O1-NEXT: [[TMP0:%.*]] = load i32, ptr @c, align 4
; O1-NEXT: ret i32 [[TMP0]]
;
-; OZ-LABEL: @PR56119(
-; OZ-NEXT: entry:
-; OZ-NEXT: [[E_COERCE_FR:%.*]] = freeze i32 [[E_COERCE:%.*]]
-; OZ-NEXT: [[CONV2:%.*]] = and i32 [[E_COERCE_FR]], 255
-; OZ-NEXT: [[CMP1:%.*]] = icmp eq i32 [[CONV2]], 7
-; OZ-NEXT: br i1 [[CMP1]], label [[IF_THEN:%.*]], label [[IF_END:%.*]]
-; OZ: if.then:
-; OZ-NEXT: tail call void (...) @foo()
-; OZ-NEXT: br label [[IF_END]]
-; OZ: if.end:
-; OZ-NEXT: [[TMP0:%.*]] = load i32, ptr @c, align 4
-; OZ-NEXT: ret i32 [[TMP0]]
+; O2-LABEL: @PR56119(
+; O2-NEXT: entry:
+; O2-NEXT: [[E_COERCE_FR:%.*]] = freeze i32 [[E_COERCE:%.*]]
+; O2-NEXT: [[CONV2:%.*]] = and i32 [[E_COERCE_FR]], 255
+; O2-NEXT: [[CMP1:%.*]] = icmp eq i32 [[CONV2]], 7
+; O2-NEXT: br i1 [[CMP1]], label [[IF_THEN:%.*]], label [[IF_END:%.*]]
+; O2: if.then:
+; O2-NEXT: tail call void (...) @foo()
+; O2-NEXT: br label [[IF_END]]
+; O2: if.end:
+; O2-NEXT: [[TMP0:%.*]] = load i32, ptr @c, align 4
+; O2-NEXT: ret i32 [[TMP0]]
;
entry:
%e = alloca %struct.a, align 4
diff --git a/llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll b/llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
index 17e1dfba0cfaa..757592b036076 100644
--- a/llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
+++ b/llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
@@ -5,8 +5,8 @@
;; memset. If loop idiom recognition begins to recognize unrotated loops, this
;; test will need to be updated.
-; RUN: opt -passes='default<Oz>' -S < %s | FileCheck %s --check-prefix=NOROTATION
-; RUN: opt -passes='default<Oz>' -S -enable-loop-header-duplication-at-minsize < %s | FileCheck %s --check-prefix=ROTATION
+; RUN: opt -passes='default<O2>' -S < %s | FileCheck %s --check-prefix=NOROTATION
+; RUN: opt -passes='default<O2>' -S -enable-loop-header-duplication-at-minsize < %s | FileCheck %s --check-prefix=ROTATION
define void @test(i8* noalias nonnull align 1 %start, i8* %end) minsize {
; NOROTATION-LABEL: define void @test(
diff --git a/llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll b/llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
index 2933249782f44..971267cc74b65 100644
--- a/llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
+++ b/llvm/test/Transforms/PhaseOrdering/runtime-check-removal.ll
@@ -1,12 +1,12 @@
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt -passes='default<Os>' -S %s | FileCheck %s
+; RUN: opt -passes='default<O2>' -S %s | FileCheck %s
target datalayout = "e-m:o-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
declare void @use(i16)
-define void @test_remove_check_with_incrementing_integer_induction(i16 %start, i8 %len.n, i16 %a) {
+define void @test_remove_check_with_incrementing_integer_induction(i16 %start, i8 %len.n, i16 %a) optsize {
; CHECK-LABEL: @test_remove_check_with_incrementing_integer_induction(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[LEN:%.*]] = zext i8 [[LEN_N:%.*]] to i16
@@ -58,7 +58,7 @@ exit:
}
-define void @chained_conditions(i64 noundef %a, i64 noundef %b, i64 noundef %c, i64 noundef %d) #0 {
+define void @chained_conditions(i64 noundef %a, i64 noundef %b, i64 noundef %c, i64 noundef %d) optsize {
; CHECK-LABEL: @chained_conditions(
; CHECK-NEXT: entry:
; CHECK-NEXT: ret void
diff --git a/llvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll b/llvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll
index 0c65e49dfbbd8..9e16f38a143b6 100644
--- a/llvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll
+++ b/llvm/test/Transforms/SimpleLoopUnswitch/pipeline.ll
@@ -1,8 +1,6 @@
; RUN: opt < %s -S -passes="default<O1>" | FileCheck %s -check-prefixes=TRIVIAL,CHECK
; RUN: opt < %s -S -passes="default<O2>" | FileCheck %s -check-prefixes=TRIVIAL,CHECK
; RUN: opt < %s -S -passes="default<O3>" | FileCheck %s -check-prefixes=NONTRIVIAL,CHECK
-; RUN: opt < %s -S -passes="default<Os>" | FileCheck %s -check-prefixes=TRIVIAL,CHECK
-; RUN: opt < %s -S -passes="default<Oz>" | FileCheck %s -check-prefixes=TRIVIAL,CHECK
declare i32 @a()
declare i32 @b()
diff --git a/mlir/lib/ExecutionEngine/OptUtils.cpp b/mlir/lib/ExecutionEngine/OptUtils.cpp
index b024a625fbf53..c6962bb921b9d 100644
--- a/mlir/lib/ExecutionEngine/OptUtils.cpp
+++ b/mlir/lib/ExecutionEngine/OptUtils.cpp
@@ -34,17 +34,8 @@ static std::optional<OptimizationLevel> mapToLevel(unsigned optLevel,
return OptimizationLevel::O1;
case 2:
- switch (sizeLevel) {
- case 0:
- return OptimizationLevel::O2;
+ return OptimizationLevel::O2;
- case 1:
- return OptimizationLevel::Os;
-
- case 2:
- return OptimizationLevel::Oz;
- }
- break;
case 3:
return OptimizationLevel::O3;
}
diff --git a/polly/test/Support/defaultpipelines.ll b/polly/test/Support/defaultpipelines.ll
index ab0329a70327e..0eee4cf08b411 100644
--- a/polly/test/Support/defaultpipelines.ll
+++ b/polly/test/Support/defaultpipelines.ll
@@ -2,8 +2,6 @@
; RUN: opt %loadNPMPolly -polly -O1 -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ON
; RUN: opt %loadNPMPolly -polly -O2 -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ON
; RUN: opt %loadNPMPolly -polly -O3 -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=ON
-; RUN: opt %loadNPMPolly -polly -Os -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=OFF
-; RUN: opt %loadNPMPolly -polly -Oz -S < %s | FileCheck %s --check-prefix=CHECK --check-prefix=OFF
;
; Check that Polly's default pipeline works from detection to code generation
; with either pass manager.
More information about the Mlir-commits
mailing list