<div dir="ltr">We already have tons of pipeline tests for the new PM, can we instead reuse new-pm-defaults.ll rather than add a completely new test? Updating these is already a pain.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, May 16, 2021 at 5:09 AM Florian Hahn via llvm-commits <<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Author: Florian Hahn<br>
Date: 2021-05-16T13:08:51+01:00<br>
New Revision: 4763fb3a8a560eff8d42f1832a587b0f79781318<br>
<br>
URL: <a href="https://github.com/llvm/llvm-project/commit/4763fb3a8a560eff8d42f1832a587b0f79781318" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/4763fb3a8a560eff8d42f1832a587b0f79781318</a><br>
DIFF: <a href="https://github.com/llvm/llvm-project/commit/4763fb3a8a560eff8d42f1832a587b0f79781318.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/4763fb3a8a560eff8d42f1832a587b0f79781318.diff</a><br>
<br>
LOG: [Matrix] Extend test to also check new PM pipeline.<br>
<br>
Added: <br>
<br>
<br>
Modified: <br>
    llvm/test/Other/opt-O3-pipeline-enable-matrix.ll<br>
<br>
Removed: <br>
<br>
<br>
<br>
################################################################################<br>
diff  --git a/llvm/test/Other/opt-O3-pipeline-enable-matrix.ll b/llvm/test/Other/opt-O3-pipeline-enable-matrix.ll<br>
index e5d9e51402354..e8a35f9e2399e 100644<br>
--- a/llvm/test/Other/opt-O3-pipeline-enable-matrix.ll<br>
+++ b/llvm/test/Other/opt-O3-pipeline-enable-matrix.ll<br>
@@ -1,346 +1,494 @@<br>
-; RUN: opt -enable-new-pm=0 -O3 -enable-matrix -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s<br>
+; RUN: opt -enable-new-pm=0 -O3 -enable-matrix -debug-pass=Structure %s -disable-output 2>&1 | FileCheck --check-prefix=LEGACY %s<br>
+; RUN: opt -passes='default<O3>' -enable-matrix -debug-pass-manager -disable-output %s 2>&1 | FileCheck --check-prefix=NEWPM %s<br>
<br>
 ; REQUIRES: asserts<br>
<br>
-; CHECK-LABEL: Pass Arguments:<br>
-; CHECK-NEXT: Target Transform Information<br>
-; CHECK-NEXT: Type-Based Alias Analysis<br>
-; CHECK-NEXT: Scoped NoAlias Alias Analysis<br>
-; CHECK-NEXT: Assumption Cache Tracker<br>
-; CHECK-NEXT: Target Library Information<br>
-; CHECK-NEXT:   FunctionPass Manager<br>
-; CHECK-NEXT:     Module Verifier<br>
-; CHECK-EXT:      Good Bye World Pass<br>
-; CHECK-NOEXT-NOT:      Good Bye World Pass<br>
-; CHECK-NEXT:     Lower 'expect' Intrinsics<br>
-; CHECK-NEXT:     Simplify the CFG<br>
-; CHECK-NEXT:     Dominator Tree Construction<br>
-; CHECK-NEXT:     SROA<br>
-; CHECK-NEXT:     Early CSE<br>
-; CHECK-NEXT: Pass Arguments:<br>
-; CHECK-NEXT: Target Library Information<br>
-; CHECK-NEXT: Target Transform Information<br>
+; LEGACY-LABEL: Pass Arguments:<br>
+; LEGACY-NEXT: Target Transform Information<br>
+; LEGACY-NEXT: Type-Based Alias Analysis<br>
+; LEGACY-NEXT: Scoped NoAlias Alias Analysis<br>
+; LEGACY-NEXT: Assumption Cache Tracker<br>
+; LEGACY-NEXT: Target Library Information<br>
+; LEGACY-NEXT:   FunctionPass Manager<br>
+; LEGACY-NEXT:     Module Verifier<br>
+; LEGACY-EXT:      Good Bye World Pass<br>
+; LEGACY-NOEXT-NOT:      Good Bye World Pass<br>
+; LEGACY-NEXT:     Lower 'expect' Intrinsics<br>
+; LEGACY-NEXT:     Simplify the CFG<br>
+; LEGACY-NEXT:     Dominator Tree Construction<br>
+; LEGACY-NEXT:     SROA<br>
+; LEGACY-NEXT:     Early CSE<br>
+; LEGACY-NEXT: Pass Arguments:<br>
+; LEGACY-NEXT: Target Library Information<br>
+; LEGACY-NEXT: Target Transform Information<br>
 ;             Target Pass Configuration<br>
-; CHECK:      Type-Based Alias Analysis<br>
-; CHECK-NEXT: Scoped NoAlias Alias Analysis<br>
-; CHECK-NEXT: Assumption Cache Tracker<br>
-; CHECK-NEXT: Profile summary info<br>
-; CHECK-NEXT:   ModulePass Manager<br>
-; CHECK-NEXT:     Annotation2Metadata<br>
-; CHECK-NEXT:     Force set function attributes<br>
-; CHECK-NEXT:     Infer set function attributes<br>
-; CHECK-NEXT:     FunctionPass Manager<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Call-site splitting<br>
-; CHECK-NEXT:     Interprocedural Sparse Conditional Constant Propagation<br>
-; CHECK-NEXT:       FunctionPass Manager<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:     Called Value Propagation<br>
-; CHECK-NEXT:     Global Variable Optimizer<br>
-; CHECK-NEXT:       FunctionPass Manager<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Post-Dominator Tree Construction<br>
-; CHECK-NEXT:         Branch Probability Analysis<br>
-; CHECK-NEXT:         Block Frequency Analysis<br>
-; CHECK-NEXT:     FunctionPass Manager<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Promote Memory to Register<br>
-; CHECK-NEXT:     Dead Argument Elimination<br>
-; CHECK-NEXT:     FunctionPass Manager<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Natural Loop Information<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Combine redundant instructions<br>
-; CHECK-NEXT:       Simplify the CFG<br>
-; CHECK-NEXT:     CallGraph Construction<br>
-; CHECK-NEXT:     Globals Alias Analysis<br>
-; CHECK-NEXT:     Call Graph SCC Pass Manager<br>
-; CHECK-NEXT:       Remove unused exception handling info<br>
-; CHECK-NEXT:       Function Integration/Inlining<br>
-; CHECK-NEXT:       OpenMP specific optimizations<br>
-; CHECK-NEXT:       Deduce function attributes<br>
-; CHECK-NEXT:       Promote 'by reference' arguments to scalars<br>
-; CHECK-NEXT:       FunctionPass Manager<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         SROA<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Memory SSA<br>
-; CHECK-NEXT:         Early CSE w/ MemorySSA<br>
-; CHECK-NEXT:         Speculatively execute instructions if target has divergent branches<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Lazy Value Information Analysis<br>
-; CHECK-NEXT:         Jump Threading<br>
-; CHECK-NEXT:         Value Propagation<br>
-; CHECK-NEXT:         Simplify the CFG<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Combine pattern based expressions<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Combine redundant instructions<br>
-; CHECK-NEXT:         Conditionally eliminate dead library calls<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Post-Dominator Tree Construction<br>
-; CHECK-NEXT:         Branch Probability Analysis<br>
-; CHECK-NEXT:         Block Frequency Analysis<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         PGOMemOPSize<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Tail Call Elimination<br>
-; CHECK-NEXT:         Simplify the CFG<br>
-; CHECK-NEXT:         Reassociate expressions<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Memory SSA<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Canonicalize natural loops<br>
-; CHECK-NEXT:         LCSSA Verifier<br>
-; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:         Scalar Evolution Analysis<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Loop Pass Manager<br>
-; CHECK-NEXT:           Loop Invariant Code Motion<br>
-; CHECK-NEXT:           Rotate Loops<br>
-; CHECK-NEXT:           Loop Invariant Code Motion<br>
-; CHECK-NEXT:           Unswitch loops<br>
-; CHECK-NEXT:         Simplify the CFG<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Combine redundant instructions<br>
-; CHECK-NEXT:         Canonicalize natural loops<br>
-; CHECK-NEXT:         LCSSA Verifier<br>
-; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:         Scalar Evolution Analysis<br>
-; CHECK-NEXT:         Loop Pass Manager<br>
-; CHECK-NEXT:           Recognize loop idioms<br>
-; CHECK-NEXT:           Induction Variable Simplification<br>
-; CHECK-NEXT:           Delete dead loops<br>
-; CHECK-NEXT:           Unroll loops<br>
-; CHECK-NEXT:         SROA<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         MergedLoadStoreMotion<br>
-; CHECK-NEXT:         Phi Values Analysis<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Memory Dependence Analysis<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Global Value Numbering<br>
-; CHECK-NEXT:         Sparse Conditional Constant Propagation<br>
-; CHECK-NEXT:         Demanded bits analysis<br>
-; CHECK-NEXT:         Bit-Tracking Dead Code Elimination<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Combine redundant instructions<br>
-; CHECK-NEXT:         Lazy Value Information Analysis<br>
-; CHECK-NEXT:         Jump Threading<br>
-; CHECK-NEXT:         Value Propagation<br>
-; CHECK-NEXT:         Post-Dominator Tree Construction<br>
-; CHECK-NEXT:         Aggressive Dead Code Elimination<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Memory SSA<br>
-; CHECK-NEXT:         MemCpy Optimization<br>
-; CHECK-NEXT:         Dead Store Elimination<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Canonicalize natural loops<br>
-; CHECK-NEXT:         LCSSA Verifier<br>
-; CHECK-NEXT:         Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Scalar Evolution Analysis<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Loop Pass Manager<br>
-; CHECK-NEXT:           Loop Invariant Code Motion<br>
-; CHECK-NEXT:         Simplify the CFG<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:         Function Alias Analysis Results<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:         Optimization Remark Emitter<br>
-; CHECK-NEXT:         Combine redundant instructions<br>
-; CHECK-NEXT:     A No-Op Barrier Pass<br>
-; CHECK-NEXT:     Eliminate Available Externally Globals<br>
-; CHECK-NEXT:     CallGraph Construction<br>
-; CHECK-NEXT:     Deduce function attributes in RPO<br>
-; CHECK-NEXT:     Global Variable Optimizer<br>
-; CHECK-NEXT:       FunctionPass Manager<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Post-Dominator Tree Construction<br>
-; CHECK-NEXT:         Branch Probability Analysis<br>
-; CHECK-NEXT:         Block Frequency Analysis<br>
-; CHECK-NEXT:     Dead Global Elimination<br>
-; CHECK-NEXT:     CallGraph Construction<br>
-; CHECK-NEXT:     Globals Alias Analysis<br>
-; CHECK-NEXT:     FunctionPass Manager<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Float to int<br>
-; CHECK-NEXT:       Lower constant intrinsics<br>
-; CHECK-NEXT:       Natural Loop Information<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Lower the matrix intrinsics<br>
-; CHECK-NEXT:       Early CSE<br>
-; CHECK-NEXT:       Canonicalize natural loops<br>
-; CHECK-NEXT:       LCSSA Verifier<br>
-; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Loop Pass Manager<br>
-; CHECK-NEXT:         Rotate Loops<br>
-; CHECK-NEXT:       Loop Access Analysis<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Loop Distribution<br>
-; CHECK-NEXT:       Post-Dominator Tree Construction<br>
-; CHECK-NEXT:       Branch Probability Analysis<br>
-; CHECK-NEXT:       Block Frequency Analysis<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Loop Access Analysis<br>
-; CHECK-NEXT:       Demanded bits analysis<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Inject TLI Mappings<br>
-; CHECK-NEXT:       Loop Vectorization<br>
-; CHECK-NEXT:       Canonicalize natural loops<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Loop Access Analysis<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Loop Load Elimination<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Combine redundant instructions<br>
-; CHECK-NEXT:       Simplify the CFG<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Natural Loop Information<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Demanded bits analysis<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Inject TLI Mappings<br>
-; CHECK-NEXT:       SLP Vectorizer<br>
-; CHECK-NEXT:       Optimize scalar/vector ops<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Combine redundant instructions<br>
-; CHECK-NEXT:       Canonicalize natural loops<br>
-; CHECK-NEXT:       LCSSA Verifier<br>
-; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Loop Pass Manager<br>
-; CHECK-NEXT:         Unroll loops<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Combine redundant instructions<br>
-; CHECK-NEXT:       Memory SSA<br>
-; CHECK-NEXT:       Canonicalize natural loops<br>
-; CHECK-NEXT:       LCSSA Verifier<br>
-; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Loop Pass Manager<br>
-; CHECK-NEXT:         Loop Invariant Code Motion<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Warn about non-applied transformations<br>
-; CHECK-NEXT:       Alignment from assumptions<br>
-; CHECK-NEXT:     Strip Unused Function Prototypes<br>
-; CHECK-NEXT:     Dead Global Elimination<br>
-; CHECK-NEXT:     Merge Duplicate Global Constants<br>
-; CHECK-NEXT:     Call Graph Profile<br>
-; CHECK-NEXT:       FunctionPass Manager<br>
-; CHECK-NEXT:         Dominator Tree Construction<br>
-; CHECK-NEXT:         Natural Loop Information<br>
-; CHECK-NEXT:         Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:         Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:     FunctionPass Manager<br>
-; CHECK-NEXT:       Dominator Tree Construction<br>
-; CHECK-NEXT:       Natural Loop Information<br>
-; CHECK-NEXT:       Post-Dominator Tree Construction<br>
-; CHECK-NEXT:       Branch Probability Analysis<br>
-; CHECK-NEXT:       Block Frequency Analysis<br>
-; CHECK-NEXT:       Canonicalize natural loops<br>
-; CHECK-NEXT:       LCSSA Verifier<br>
-; CHECK-NEXT:       Loop-Closed SSA Form Pass<br>
-; CHECK-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
-; CHECK-NEXT:       Function Alias Analysis Results<br>
-; CHECK-NEXT:       Scalar Evolution Analysis<br>
-; CHECK-NEXT:       Block Frequency Analysis<br>
-; CHECK-NEXT:       Loop Pass Manager<br>
-; CHECK-NEXT:         Loop Sink<br>
-; CHECK-NEXT:       Lazy Branch Probability Analysis<br>
-; CHECK-NEXT:       Lazy Block Frequency Analysis<br>
-; CHECK-NEXT:       Optimization Remark Emitter<br>
-; CHECK-NEXT:       Remove redundant instructions<br>
-; CHECK-NEXT:       Hoist/decompose integer division and remainder<br>
-; CHECK-NEXT:       Simplify the CFG<br>
-; CHECK-NEXT:       Annotation Remarks<br>
-; CHECK-NEXT:       Module Verifier<br>
-; CHECK-NEXT:     Bitcode Writer<br>
-; CHECK-NEXT: Pass Arguments:<br>
-; CHECK-NEXT:  FunctionPass Manager<br>
-; CHECK-NEXT:     Dominator Tree Construction<br>
-; CHECK-NEXT: Pass Arguments:<br>
-; CHECK-NEXT: Target Library Information<br>
-; CHECK-NEXT:   FunctionPass Manager<br>
-; CHECK-NEXT:     Dominator Tree Construction<br>
-; CHECK-NEXT:     Natural Loop Information<br>
-; CHECK-NEXT:     Post-Dominator Tree Construction<br>
-; CHECK-NEXT:     Branch Probability Analysis<br>
-; CHECK-NEXT:     Block Frequency Analysis<br>
-; CHECK-NEXT: Pass Arguments:<br>
-; CHECK-NEXT: Target Library Information<br>
-; CHECK-NEXT:   FunctionPass Manager<br>
-; CHECK-NEXT:     Dominator Tree Construction<br>
-; CHECK-NEXT:     Natural Loop Information<br>
-; CHECK-NEXT:     Post-Dominator Tree Construction<br>
-; CHECK-NEXT:     Branch Probability Analysis<br>
-; CHECK-NEXT:     Block Frequency Analysis<br>
+; LEGACY:      Type-Based Alias Analysis<br>
+; LEGACY-NEXT: Scoped NoAlias Alias Analysis<br>
+; LEGACY-NEXT: Assumption Cache Tracker<br>
+; LEGACY-NEXT: Profile summary info<br>
+; LEGACY-NEXT:   ModulePass Manager<br>
+; LEGACY-NEXT:     Annotation2Metadata<br>
+; LEGACY-NEXT:     Force set function attributes<br>
+; LEGACY-NEXT:     Infer set function attributes<br>
+; LEGACY-NEXT:     FunctionPass Manager<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Call-site splitting<br>
+; LEGACY-NEXT:     Interprocedural Sparse Conditional Constant Propagation<br>
+; LEGACY-NEXT:       FunctionPass Manager<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:     Called Value Propagation<br>
+; LEGACY-NEXT:     Global Variable Optimizer<br>
+; LEGACY-NEXT:       FunctionPass Manager<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:         Branch Probability Analysis<br>
+; LEGACY-NEXT:         Block Frequency Analysis<br>
+; LEGACY-NEXT:     FunctionPass Manager<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Promote Memory to Register<br>
+; LEGACY-NEXT:     Dead Argument Elimination<br>
+; LEGACY-NEXT:     FunctionPass Manager<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Natural Loop Information<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Combine redundant instructions<br>
+; LEGACY-NEXT:       Simplify the CFG<br>
+; LEGACY-NEXT:     CallGraph Construction<br>
+; LEGACY-NEXT:     Globals Alias Analysis<br>
+; LEGACY-NEXT:     Call Graph SCC Pass Manager<br>
+; LEGACY-NEXT:       Remove unused exception handling info<br>
+; LEGACY-NEXT:       Function Integration/Inlining<br>
+; LEGACY-NEXT:       OpenMP specific optimizations<br>
+; LEGACY-NEXT:       Deduce function attributes<br>
+; LEGACY-NEXT:       Promote 'by reference' arguments to scalars<br>
+; LEGACY-NEXT:       FunctionPass Manager<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         SROA<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Memory SSA<br>
+; LEGACY-NEXT:         Early CSE w/ MemorySSA<br>
+; LEGACY-NEXT:         Speculatively execute instructions if target has divergent branches<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Lazy Value Information Analysis<br>
+; LEGACY-NEXT:         Jump Threading<br>
+; LEGACY-NEXT:         Value Propagation<br>
+; LEGACY-NEXT:         Simplify the CFG<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Combine pattern based expressions<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Combine redundant instructions<br>
+; LEGACY-NEXT:         Conditionally eliminate dead library calls<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:         Branch Probability Analysis<br>
+; LEGACY-NEXT:         Block Frequency Analysis<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         PGOMemOPSize<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Tail Call Elimination<br>
+; LEGACY-NEXT:         Simplify the CFG<br>
+; LEGACY-NEXT:         Reassociate expressions<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Memory SSA<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Canonicalize natural loops<br>
+; LEGACY-NEXT:         LCSSA Verifier<br>
+; LEGACY-NEXT:         Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:         Scalar Evolution Analysis<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Loop Pass Manager<br>
+; LEGACY-NEXT:           Loop Invariant Code Motion<br>
+; LEGACY-NEXT:           Rotate Loops<br>
+; LEGACY-NEXT:           Loop Invariant Code Motion<br>
+; LEGACY-NEXT:           Unswitch loops<br>
+; LEGACY-NEXT:         Simplify the CFG<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Combine redundant instructions<br>
+; LEGACY-NEXT:         Canonicalize natural loops<br>
+; LEGACY-NEXT:         LCSSA Verifier<br>
+; LEGACY-NEXT:         Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:         Scalar Evolution Analysis<br>
+; LEGACY-NEXT:         Loop Pass Manager<br>
+; LEGACY-NEXT:           Recognize loop idioms<br>
+; LEGACY-NEXT:           Induction Variable Simplification<br>
+; LEGACY-NEXT:           Delete dead loops<br>
+; LEGACY-NEXT:           Unroll loops<br>
+; LEGACY-NEXT:         SROA<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         MergedLoadStoreMotion<br>
+; LEGACY-NEXT:         Phi Values Analysis<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Memory Dependence Analysis<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Global Value Numbering<br>
+; LEGACY-NEXT:         Sparse Conditional Constant Propagation<br>
+; LEGACY-NEXT:         Demanded bits analysis<br>
+; LEGACY-NEXT:         Bit-Tracking Dead Code Elimination<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Combine redundant instructions<br>
+; LEGACY-NEXT:         Lazy Value Information Analysis<br>
+; LEGACY-NEXT:         Jump Threading<br>
+; LEGACY-NEXT:         Value Propagation<br>
+; LEGACY-NEXT:         Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:         Aggressive Dead Code Elimination<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Memory SSA<br>
+; LEGACY-NEXT:         MemCpy Optimization<br>
+; LEGACY-NEXT:         Dead Store Elimination<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Canonicalize natural loops<br>
+; LEGACY-NEXT:         LCSSA Verifier<br>
+; LEGACY-NEXT:         Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Scalar Evolution Analysis<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Loop Pass Manager<br>
+; LEGACY-NEXT:           Loop Invariant Code Motion<br>
+; LEGACY-NEXT:         Simplify the CFG<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:         Function Alias Analysis Results<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:         Optimization Remark Emitter<br>
+; LEGACY-NEXT:         Combine redundant instructions<br>
+; LEGACY-NEXT:     A No-Op Barrier Pass<br>
+; LEGACY-NEXT:     Eliminate Available Externally Globals<br>
+; LEGACY-NEXT:     CallGraph Construction<br>
+; LEGACY-NEXT:     Deduce function attributes in RPO<br>
+; LEGACY-NEXT:     Global Variable Optimizer<br>
+; LEGACY-NEXT:       FunctionPass Manager<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:         Branch Probability Analysis<br>
+; LEGACY-NEXT:         Block Frequency Analysis<br>
+; LEGACY-NEXT:     Dead Global Elimination<br>
+; LEGACY-NEXT:     CallGraph Construction<br>
+; LEGACY-NEXT:     Globals Alias Analysis<br>
+; LEGACY-NEXT:     FunctionPass Manager<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Float to int<br>
+; LEGACY-NEXT:       Lower constant intrinsics<br>
+; LEGACY-NEXT:       Natural Loop Information<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Lower the matrix intrinsics<br>
+; LEGACY-NEXT:       Early CSE<br>
+; LEGACY-NEXT:       Canonicalize natural loops<br>
+; LEGACY-NEXT:       LCSSA Verifier<br>
+; LEGACY-NEXT:       Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Loop Pass Manager<br>
+; LEGACY-NEXT:         Rotate Loops<br>
+; LEGACY-NEXT:       Loop Access Analysis<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Loop Distribution<br>
+; LEGACY-NEXT:       Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:       Branch Probability Analysis<br>
+; LEGACY-NEXT:       Block Frequency Analysis<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Loop Access Analysis<br>
+; LEGACY-NEXT:       Demanded bits analysis<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Inject TLI Mappings<br>
+; LEGACY-NEXT:       Loop Vectorization<br>
+; LEGACY-NEXT:       Canonicalize natural loops<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Loop Access Analysis<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Loop Load Elimination<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Combine redundant instructions<br>
+; LEGACY-NEXT:       Simplify the CFG<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Natural Loop Information<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Demanded bits analysis<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Inject TLI Mappings<br>
+; LEGACY-NEXT:       SLP Vectorizer<br>
+; LEGACY-NEXT:       Optimize scalar/vector ops<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Combine redundant instructions<br>
+; LEGACY-NEXT:       Canonicalize natural loops<br>
+; LEGACY-NEXT:       LCSSA Verifier<br>
+; LEGACY-NEXT:       Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Loop Pass Manager<br>
+; LEGACY-NEXT:         Unroll loops<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Combine redundant instructions<br>
+; LEGACY-NEXT:       Memory SSA<br>
+; LEGACY-NEXT:       Canonicalize natural loops<br>
+; LEGACY-NEXT:       LCSSA Verifier<br>
+; LEGACY-NEXT:       Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Loop Pass Manager<br>
+; LEGACY-NEXT:         Loop Invariant Code Motion<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Warn about non-applied transformations<br>
+; LEGACY-NEXT:       Alignment from assumptions<br>
+; LEGACY-NEXT:     Strip Unused Function Prototypes<br>
+; LEGACY-NEXT:     Dead Global Elimination<br>
+; LEGACY-NEXT:     Merge Duplicate Global Constants<br>
+; LEGACY-NEXT:     Call Graph Profile<br>
+; LEGACY-NEXT:       FunctionPass Manager<br>
+; LEGACY-NEXT:         Dominator Tree Construction<br>
+; LEGACY-NEXT:         Natural Loop Information<br>
+; LEGACY-NEXT:         Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:         Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:     FunctionPass Manager<br>
+; LEGACY-NEXT:       Dominator Tree Construction<br>
+; LEGACY-NEXT:       Natural Loop Information<br>
+; LEGACY-NEXT:       Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:       Branch Probability Analysis<br>
+; LEGACY-NEXT:       Block Frequency Analysis<br>
+; LEGACY-NEXT:       Canonicalize natural loops<br>
+; LEGACY-NEXT:       LCSSA Verifier<br>
+; LEGACY-NEXT:       Loop-Closed SSA Form Pass<br>
+; LEGACY-NEXT:       Basic Alias Analysis (stateless AA impl)<br>
+; LEGACY-NEXT:       Function Alias Analysis Results<br>
+; LEGACY-NEXT:       Scalar Evolution Analysis<br>
+; LEGACY-NEXT:       Block Frequency Analysis<br>
+; LEGACY-NEXT:       Loop Pass Manager<br>
+; LEGACY-NEXT:         Loop Sink<br>
+; LEGACY-NEXT:       Lazy Branch Probability Analysis<br>
+; LEGACY-NEXT:       Lazy Block Frequency Analysis<br>
+; LEGACY-NEXT:       Optimization Remark Emitter<br>
+; LEGACY-NEXT:       Remove redundant instructions<br>
+; LEGACY-NEXT:       Hoist/decompose integer division and remainder<br>
+; LEGACY-NEXT:       Simplify the CFG<br>
+; LEGACY-NEXT:       Annotation Remarks<br>
+; LEGACY-NEXT:       Module Verifier<br>
+; LEGACY-NEXT: Pass Arguments:<br>
+; LEGACY-NEXT:  FunctionPass Manager<br>
+; LEGACY-NEXT:     Dominator Tree Construction<br>
+; LEGACY-NEXT: Pass Arguments:<br>
+; LEGACY-NEXT: Target Library Information<br>
+; LEGACY-NEXT:   FunctionPass Manager<br>
+; LEGACY-NEXT:     Dominator Tree Construction<br>
+; LEGACY-NEXT:     Natural Loop Information<br>
+; LEGACY-NEXT:     Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:     Branch Probability Analysis<br>
+; LEGACY-NEXT:     Block Frequency Analysis<br>
+; LEGACY-NEXT: Pass Arguments:<br>
+; LEGACY-NEXT: Target Library Information<br>
+; LEGACY-NEXT:   FunctionPass Manager<br>
+; LEGACY-NEXT:     Dominator Tree Construction<br>
+; LEGACY-NEXT:     Natural Loop Information<br>
+; LEGACY-NEXT:     Post-Dominator Tree Construction<br>
+; LEGACY-NEXT:     Branch Probability Analysis<br>
+; LEGACY-NEXT:     Block Frequency Analysis<br>
+<br>
+; NEWPM:      Running pass: VerifierPass on<br>
+; NEWPM-NEXT: Running analysis: VerifierAnalysis on<br>
+; NEWPM-NEXT:Running pass: Annotation2MetadataPass on<br>
+; NEWPM-NEXT:Running pass: ForceFunctionAttrsPass on<br>
+; NEWPM-NEXT:Running pass: InferFunctionAttrsPass on<br>
+; NEWPM-NEXT:Running analysis: InnerAnalysisManagerProxy<{{.*}}FunctionAnalysisManager<br>
+; NEWPM-NEXT:Running analysis: PreservedCFGCheckerAnalysis on f<br>
+; NEWPM-NEXT:Running pass: LowerExpectIntrinsicPass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running analysis: TargetIRAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: AssumptionAnalysis on f<br>
+; NEWPM-NEXT: Running pass: SROA on f<br>
+; NEWPM-NEXT: Running analysis: DominatorTreeAnalysis on f<br>
+; NEWPM-NEXT: Running pass: EarlyCSEPass on f<br>
+; NEWPM-NEXT: Running analysis: TargetLibraryAnalysis on f<br>
+; NEWPM-NEXT: Running pass: CallSiteSplittingPass on f<br>
+; NEWPM-NEXT: Running pass: OpenMPOptPass on<br>
+; NEWPM-NEXT: Running pass: IPSCCPPass on<br>
+; NEWPM-NEXT: Running pass: CalledValuePropagationPass on<br>
+; NEWPM-NEXT: Running pass: GlobalOptPass on<br>
+; NEWPM-NEXT: Invalidating analysis: VerifierAnalysis on<br>
+; NEWPM-NEXT: Invalidating analysis: InnerAnalysisManagerProxy<{{.*}}FunctionAnalysisManager<br>
+; NEWPM-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}FunctionAnalysisManager<br>
+; NEWPM-NEXT: Running pass: PromotePass on f<br>
+; NEWPM-NEXT: Running analysis: PreservedCFGCheckerAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: DominatorTreeAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: AssumptionAnalysis on f<br>
+; NEWPM-NEXT: Running pass: DeadArgumentEliminationPass on<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running analysis: TargetLibraryAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: TargetIRAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: AAManager on f<br>
+; NEWPM-NEXT: Running analysis: BasicAA on f<br>
+; NEWPM-NEXT: Running analysis: ScopedNoAliasAA on f<br>
+; NEWPM-NEXT: Running analysis: TypeBasedAA on f<br>
+; NEWPM-NEXT: Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, llvm::Function> on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: ModuleInlinerWrapperPass on<br>
+; NEWPM-NEXT: Running analysis: InlineAdvisorAnalysis on<br>
+; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA<br>
+; NEWPM-NEXT: Running analysis: GlobalsAA on<br>
+; NEWPM-NEXT: Running analysis: CallGraphAnalysis on<br>
+; NEWPM-NEXT: Running pass: InvalidateAnalysisPass<{{.*}}AAManager<br>
+; NEWPM-NEXT: Invalidating analysis: AAManager on f<br>
+; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}ProfileSummaryAnalysis<br>
+; NEWPM-NEXT: Running analysis: ProfileSummaryAnalysis on<br>
+; NEWPM-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}CGSCCAnalysisManager, llvm::Module> on<br>
+; NEWPM-NEXT: Running analysis: LazyCallGraphAnalysis on<br>
+; NEWPM-NEXT: Running analysis: FunctionAnalysisManagerCGSCCProxy on (f)<br>
+; NEWPM-NEXT: Running analysis: OuterAnalysisManagerProxy<llvm::ModuleAnalysisManager, LazyCallGraph::SCC, llvm::LazyCallGraph &> on (f)<br>
+; NEWPM-NEXT: Running pass: DevirtSCCRepeatedPass on (f)<br>
+; NEWPM-NEXT: Running pass: InlinerPass on (f)<br>
+; NEWPM-NEXT: Running pass: InlinerPass on (f)<br>
+; NEWPM-NEXT: Running pass: PostOrderFunctionAttrsPass on (f)<br>
+; NEWPM-NEXT: Running analysis: AAManager on f<br>
+; NEWPM-NEXT: Running pass: ArgumentPromotionPass on (f)<br>
+; NEWPM-NEXT: Running pass: OpenMPOptCGSCCPass on (f)<br>
+; NEWPM-NEXT: Running pass: SROA on f<br>
+; NEWPM-NEXT: Running pass: EarlyCSEPass on f<br>
+; NEWPM-NEXT: Running analysis: MemorySSAAnalysis on f<br>
+; NEWPM-NEXT: Running pass: SpeculativeExecutionPass on f<br>
+; NEWPM-NEXT: Running pass: JumpThreadingPass on f<br>
+; NEWPM-NEXT: Running analysis: LazyValueAnalysis on f<br>
+; NEWPM-NEXT: Running pass: CorrelatedValuePropagationPass on f<br>
+; NEWPM-NEXT: Invalidating analysis: LazyValueAnalysis on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: AggressiveInstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: LibCallsShrinkWrapPass on f<br>
+; NEWPM-NEXT: Running pass: TailCallElimPass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: ReassociatePass on f<br>
+; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis<br>
+; NEWPM-NEXT: Running pass: LoopSimplifyPass on f<br>
+; NEWPM-NEXT: Running analysis: LoopAnalysis on f<br>
+; NEWPM-NEXT: Running pass: LCSSAPass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: LoopSimplifyPass on f<br>
+; NEWPM-NEXT: Running pass: LCSSAPass on f<br>
+; NEWPM-NEXT: Running pass: SROA on f<br>
+; NEWPM-NEXT: Running pass: MergedLoadStoreMotionPass on f<br>
+; NEWPM-NEXT: Running pass: GVN on f<br>
+; NEWPM-NEXT: Running analysis: MemoryDependenceAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: PhiValuesAnalysis on f<br>
+; NEWPM-NEXT: Running pass: SCCPPass on f<br>
+; NEWPM-NEXT: Running pass: BDCEPass on f<br>
+; NEWPM-NEXT: Running analysis: DemandedBitsAnalysis on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: JumpThreadingPass on f<br>
+; NEWPM-NEXT: Running analysis: LazyValueAnalysis on f<br>
+; NEWPM-NEXT: Running pass: CorrelatedValuePropagationPass on f<br>
+; NEWPM-NEXT: Invalidating analysis: LazyValueAnalysis on f<br>
+; NEWPM-NEXT: Running pass: ADCEPass on f<br>
+; NEWPM-NEXT: Running analysis: PostDominatorTreeAnalysis on f<br>
+; NEWPM-NEXT: Running pass: MemCpyOptPass on f<br>
+; NEWPM-NEXT: Running pass: DSEPass on f<br>
+; NEWPM-NEXT: Running pass: LoopSimplifyPass on f<br>
+; NEWPM-NEXT: Running pass: LCSSAPass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Invalidating analysis: CallGraphAnalysis on<br>
+; NEWPM-NEXT: Running pass: GlobalOptPass on<br>
+; NEWPM-NEXT: Running pass: GlobalDCEPass on<br>
+; NEWPM-NEXT: Running pass: EliminateAvailableExternallyPass on<br>
+; NEWPM-NEXT: Running pass: ReversePostOrderFunctionAttrsPass on<br>
+; NEWPM-NEXT: Running analysis: CallGraphAnalysis on<br>
+; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}GlobalsAA<br>
+; NEWPM-NEXT: Running pass: Float2IntPass on f<br>
+; NEWPM-NEXT: Running pass: LowerConstantIntrinsicsPass on f<br>
+; NEWPM-NEXT: Running pass: LowerMatrixIntrinsicsPass on f<br>
+; NEWPM-NEXT: Running pass: EarlyCSEPass on f<br>
+; NEWPM-NEXT: Running pass: LoopSimplifyPass on f<br>
+; NEWPM-NEXT: Running pass: LCSSAPass on f<br>
+; NEWPM-NEXT: Running pass: LoopDistributePass on f<br>
+; NEWPM-NEXT: Running analysis: ScalarEvolutionAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: InnerAnalysisManagerProxy<{{.*}}LoopAnalysisManager<br>
+; NEWPM-NEXT: Running pass: InjectTLIMappings on f<br>
+; NEWPM-NEXT: Running pass: LoopVectorizePass on f<br>
+; NEWPM-NEXT: Running analysis: BlockFrequencyAnalysis on f<br>
+; NEWPM-NEXT: Running analysis: BranchProbabilityAnalysis on f<br>
+; NEWPM-NEXT: Running pass: LoopLoadEliminationPass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: SLPVectorizerPass on f<br>
+; NEWPM-NEXT: Running pass: VectorCombinePass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: LoopUnrollPass on f<br>
+; NEWPM-NEXT: Running pass: WarnMissedTransformationsPass on f<br>
+; NEWPM-NEXT: Running pass: InstCombinePass on f<br>
+; NEWPM-NEXT: Running pass: RequireAnalysisPass<{{.*}}OptimizationRemarkEmitterAnalysis<br>
+; NEWPM-NEXT: Running pass: LoopSimplifyPass on f<br>
+; NEWPM-NEXT: Running pass: LCSSAPass on f<br>
+; NEWPM-NEXT: Running pass: AlignmentFromAssumptionsPass on f<br>
+; NEWPM-NEXT: Running pass: LoopSinkPass on f<br>
+; NEWPM-NEXT: Running pass: InstSimplifyPass on f<br>
+; NEWPM-NEXT: Running pass: DivRemPairsPass on f<br>
+; NEWPM-NEXT: Running pass: SimplifyCFGPass on f<br>
+; NEWPM-NEXT: Running pass: SpeculateAroundPHIsPass on f<br>
+; NEWPM-NEXT: Running pass: CGProfilePass on<br>
+; NEWPM-NEXT: Running pass: GlobalDCEPass on<br>
+; NEWPM-NEXT: Running pass: ConstantMergePass on<br>
+; NEWPM-NEXT: Running pass: RelLookupTableConverterPass on<br>
+; NEWPM-NEXT: Running pass: AnnotationRemarksPass on f<br>
+; NEWPM-NEXT: Running pass: VerifierPass on<br>
+; NEWPM-NEXT: Running analysis: VerifierAnalysis on<br>
<br>
 define void @f() {<br>
   ret void<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>