From 86b9775612f893c669466fc749643cfacb8df682 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Wed, 22 Apr 2026 11:34:35 +0200 Subject: [PATCH] [Passes] Remove Os and Oz optimization pipelines (#191363) These should use O2 with the optsize or minsize attributes instead. This enforces that there is no divergence between pipeline-level Os/Oz and function-level Os/Oz at an architectural level. For the purpose of testing IR that does not have optsize/minsize itself, it's possible to use `-force-attribute=optsize` etc. --- clang/lib/CodeGen/BackendUtil.cpp | 14 +- flang/lib/Optimizer/Passes/Pipelines.cpp | 2 +- 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 | 74 +++--- .../new-pm-thinlto-postlink-pgo-defaults.ll | 66 +++-- ...-pm-thinlto-postlink-samplepgo-defaults.ll | 68 +++-- .../Other/new-pm-thinlto-prelink-defaults.ll | 88 +++---- .../new-pm-thinlto-prelink-pgo-defaults.ll | 68 +++-- ...w-pm-thinlto-prelink-samplepgo-defaults.ll | 66 +++-- 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 - 39 files changed, 462 insertions(+), 843 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 3b50c465c1c2..f34c5c007f11 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/flang/lib/Optimizer/Passes/Pipelines.cpp b/flang/lib/Optimizer/Passes/Pipelines.cpp index 73e647a1c395..4c48b7a75d83 100644 --- a/flang/lib/Optimizer/Passes/Pipelines.cpp +++ b/flang/lib/Optimizer/Passes/Pipelines.cpp @@ -266,7 +266,7 @@ void createHLFIRToFIRPassPipeline(mlir::PassManager &pm, EnableOpenMP enableOpenMP, const MLIRToLLVMPassPipelineConfig &config) { llvm::OptimizationLevel optLevel = config.OptLevel; - if (optLevel.getSizeLevel() > 0 || optLevel.getSpeedupLevel() > 0) { + if (optLevel.getSpeedupLevel() > 0) { addNestedPassToAllTopLevelOperations( pm, hlfir::createExpressionSimplification); } diff --git a/llvm/include/llvm/Passes/OptimizationLevel.h b/llvm/include/llvm/Passes/OptimizationLevel.h index 1cf258f1ffd0..c74407beb859 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 @@ public: /// 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 a1f8c1e14b1f..68c2ddc475b4 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 c3f9f1261ab0..f412e9e68307 100644 --- a/llvm/lib/Passes/PassBuilder.cpp +++ b/llvm/lib/Passes/PassBuilder.cpp @@ -489,13 +489,17 @@ public: } // namespace static std::optional 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>(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 parseLoopUnrollOptions(StringRef Params) { StringRef ParamName; std::tie(ParamName, Params) = Params.split(';'); std::optional 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 bde6d0b3e510..d2906eef8dd9 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 5ed52f5bf982..4a44bd2895a1 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' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST -; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='lto-pre-link' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='lto-pre-link' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='thinlto' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -enable-detailed-function-properties -disable-output -passes='thinlto-pre-link' < %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 bb203cca0a97..af2e9b26b2b5 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' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST -; RUN: opt -stats -disable-output -passes='lto-pre-link' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -disable-output -passes='lto-pre-link' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -disable-output -passes='thinlto' < %s 2>&1 | FileCheck %s --check-prefixes=PRE,POST ; RUN: opt -stats -disable-output -passes='thinlto-pre-link' < %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 05ec0ae4c29c..9944865d8c2f 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 e782aa4a5634..7da1f7994bea 100644 --- a/llvm/test/Other/function-simplification.ll +++ b/llvm/test/Other/function-simplification.ll @@ -1,18 +1,16 @@ ; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O1 -; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ -; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ -; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ -; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23SZ +; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23 +; RUN: opt -passes='function-simplification' -debug-pass-manager -disable-output < %s 2>&1 | FileCheck %s --check-prefix=O23 ; RUN: not opt -passes='function-simplification' -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 ec1be6b9f421..3048206add4e 100644 --- a/llvm/test/Other/new-pm-defaults.ll +++ b/llvm/test/Other/new-pm-defaults.ll @@ -12,84 +12,78 @@ ; 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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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 @@ -149,23 +143,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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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 @@ -188,10 +182,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 @@ -199,21 +193,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 @@ -257,7 +251,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 7e336c231d21..6d6d30298f7b 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' -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' -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' -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' -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' -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' -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' -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' -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 f07a3728ba3d..5d5f6fcd0f00 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' -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' -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' -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 34eefc8a9753..c16ec4800b6b 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' -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' -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' -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' -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' -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' -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' -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,22 +80,22 @@ ; 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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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-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 @@ -122,31 +116,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 @@ -184,7 +178,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 60ec8e63da03..15f11914bbde 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' -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' -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' -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' -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' -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,21 +68,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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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-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 @@ -108,29 +102,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 @@ -169,7 +163,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 72c07d3bb645..8eac5cf56a10 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' -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' -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' -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' -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' -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,21 +75,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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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-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 @@ -117,29 +109,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 @@ -178,7 +170,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 6464b71e2869..f4245b66b042 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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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,22 +106,22 @@ ; 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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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-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 @@ -154,31 +142,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 962acc9d67e2..87acb355fddc 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' -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' -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' -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' -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' -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,12 +108,12 @@ ; 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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-NEXT: Running pass: JumpTableToSwitchPass ; CHECK-O-NEXT: Running pass: SimplifyCFGPass ; CHECK-O-NEXT: Running pass: InstCombinePass ; CHECK-O-NEXT: Running analysis: LastRunTrackingAnalysis @@ -129,14 +121,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 @@ -156,29 +148,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 091799d43f53..e5c1453d692e 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' -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' -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' -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' -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' -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,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-O23SZ-NEXT: Running pass: JumpTableToSwitchPass +; 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-O23-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-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 @@ -121,29 +113,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 522f35578f96..030286950008 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 000000000000..127cda823257 --- /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 21c713d35bb7..4948733a7d98 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' -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' -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' -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' -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' -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' -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' -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' -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' -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' -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 1eab1dfd563c..53b07a4f7305 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 3a4fe5021966..b8bd20b0fcdc 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)' < %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' < %s 2>&1 | FileCheck %s --check-prefix=PEEP +; RUN: -passes='peephole-callbacks' < %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' < %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 1815132bf419..1cfdaddd34a6 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 4426d17533a4..562f11eba06b 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' < %s | FileCheck %s +; RUN: opt -S -O2 < %s | FileCheck %s +; RUN: opt -S -aa-pipeline=basic-aa -passes='default' < %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 0395b6a69d95..bd5203e1e1a1 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 for 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 8d9bca1487b2..87a3a4298afc 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 e358876b51cf..000000000000 --- a/llvm/test/Transforms/LoopUnroll/opt-levels.ll +++ /dev/null @@ -1,47 +0,0 @@ -; RUN: opt < %s -S -passes="default" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O2 -; RUN: opt < %s -S -passes="default" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=O3 -; RUN: opt < %s -S -passes="default" -unroll-runtime=true -unroll-threshold-default=0 -unroll-threshold-aggressive=300 | FileCheck %s -check-prefix=Os -; RUN: opt < %s -S -passes="default" -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 32ab86e237b1..000000000000 --- a/llvm/test/Transforms/LoopUnrollAndJam/opt-levels.ll +++ /dev/null @@ -1,61 +0,0 @@ -; RUN: opt < %s -S -passes="default" -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" -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" -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" -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 547b090ca65b..1f4dbc0e97a8 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' -S < %s | FileCheck %s +; RUN: opt -passes='default' -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 13b892133594..e27584bb421f 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" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O2 ; RUN: opt < %s -mcpu=corei7 -passes="default" -S -unroll-threshold=150 -unroll-allow-partial=0 | FileCheck %s --check-prefix=O3 ; RUN: opt < %s -mcpu=corei7 -passes="default" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O3DEFAULT -; RUN: opt < %s -mcpu=corei7 -passes="default" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Os -; RUN: opt < %s -mcpu=corei7 -passes="default" -force-attribute=minsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Oz +; RUN: opt < %s -mcpu=corei7 -passes="default" -force-attribute=optsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Os +; RUN: opt < %s -mcpu=corei7 -passes="default" -force-attribute=minsize -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=Oz ; RUN: opt < %s -mcpu=corei7 -passes="default,loop-vectorize" -S -unroll-allow-partial=0 | FileCheck %s --check-prefix=O1VEC2 ; RUN: opt < %s -mcpu=corei7 -passes="default" -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 92ea2c608fe5..1250fddd571f 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 04eae7d2941d..4efac572b634 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' -S < %s | FileCheck %s --check-prefixes=CHECK,O1 -; RUN: opt -passes='default' -S < %s | FileCheck %s --check-prefixes=CHECK,OZ +; RUN: opt -passes='default' -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 17e1dfba0cfa..757592b03607 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' -S < %s | FileCheck %s --check-prefix=NOROTATION -; RUN: opt -passes='default' -S -enable-loop-header-duplication-at-minsize < %s | FileCheck %s --check-prefix=ROTATION +; RUN: opt -passes='default' -S < %s | FileCheck %s --check-prefix=NOROTATION +; RUN: opt -passes='default' -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 2933249782f4..971267cc74b6 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' -S %s | FileCheck %s +; RUN: opt -passes='default' -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 0c65e49dfbbd..9e16f38a143b 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" | FileCheck %s -check-prefixes=TRIVIAL,CHECK ; RUN: opt < %s -S -passes="default" | FileCheck %s -check-prefixes=TRIVIAL,CHECK ; RUN: opt < %s -S -passes="default" | FileCheck %s -check-prefixes=NONTRIVIAL,CHECK -; RUN: opt < %s -S -passes="default" | FileCheck %s -check-prefixes=TRIVIAL,CHECK -; RUN: opt < %s -S -passes="default" | 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 b024a625fbf5..c6962bb921b9 100644 --- a/mlir/lib/ExecutionEngine/OptUtils.cpp +++ b/mlir/lib/ExecutionEngine/OptUtils.cpp @@ -34,17 +34,8 @@ static std::optional 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 ab0329a70327..0eee4cf08b41 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.