[llvm] r328160 - [test] Add tests for opt passes pipelines for O0, O2, O3, and Os.
Michael Zolotukhin via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 21 15:17:31 PDT 2018
Author: mzolotukhin
Date: Wed Mar 21 15:17:31 2018
New Revision: 328160
URL: http://llvm.org/viewvc/llvm-project?rev=328160&view=rev
Log:
[test] Add tests for opt passes pipelines for O0, O2, O3, and Os.
Added:
llvm/trunk/test/Other/opt-O0-pipeline.ll
llvm/trunk/test/Other/opt-O2-pipeline.ll
llvm/trunk/test/Other/opt-O3-pipeline.ll
llvm/trunk/test/Other/opt-Os-pipeline.ll
Added: llvm/trunk/test/Other/opt-O0-pipeline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Other/opt-O0-pipeline.ll?rev=328160&view=auto
==============================================================================
--- llvm/trunk/test/Other/opt-O0-pipeline.ll (added)
+++ llvm/trunk/test/Other/opt-O0-pipeline.ll Wed Mar 21 15:17:31 2018
@@ -0,0 +1,27 @@
+; RUN: opt -mtriple=x86_64-- -O0 -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s
+
+; REQUIRES: asserts
+
+; CHECK-LABEL: Pass Arguments:
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Target Pass Configuration
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Profile summary info
+; CHECK-NEXT: ModulePass Manager
+; CHECK-NEXT: Force set function attributes
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Call Graph SCC Pass Manager
+; CHECK-NEXT: Inliner for always_inline functions
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Bitcode Writer
+
+define void @f() {
+ ret void
+}
Added: llvm/trunk/test/Other/opt-O2-pipeline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Other/opt-O2-pipeline.ll?rev=328160&view=auto
==============================================================================
--- llvm/trunk/test/Other/opt-O2-pipeline.ll (added)
+++ llvm/trunk/test/Other/opt-O2-pipeline.ll Wed Mar 21 15:17:31 2018
@@ -0,0 +1,295 @@
+; RUN: opt -mtriple=x86_64-- -O2 -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s
+
+; REQUIRES: asserts
+
+; CHECK-LABEL: Pass Arguments:
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Early CSE
+; CHECK-NEXT: Lower 'expect' Intrinsics
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Target Pass Configuration
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Profile summary info
+; CHECK-NEXT: ModulePass Manager
+; CHECK-NEXT: Force set function attributes
+; CHECK-NEXT: Infer set function attributes
+; CHECK-NEXT: Interprocedural Sparse Conditional Constant Propagation
+; CHECK-NEXT: Called Value Propagation
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Promote Memory to Register
+; CHECK-NEXT: Dead Argument Elimination
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: Call Graph SCC Pass Manager
+; CHECK-NEXT: Remove unused exception handling info
+; CHECK-NEXT: Function Integration/Inlining
+; CHECK-NEXT: Deduce function attributes
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory SSA
+; CHECK-NEXT: Early CSE w/ MemorySSA
+; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Conditionally eliminate dead library calls
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: PGOMemOPSize
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Tail Call Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Reassociate expressions
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Unswitch loops
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Induction Variable Simplification
+; CHECK-NEXT: Recognize loop idioms
+; CHECK-NEXT: Delete dead loops
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: MergedLoadStoreMotion
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Global Value Numbering
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: MemCpy Optimization
+; CHECK-NEXT: Sparse Conditional Constant Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Bit-Tracking Dead Code Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Dead Store Elimination
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Post-Dominator Tree Construction
+; CHECK-NEXT: Aggressive Dead Code Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: A No-Op Barrier Pass
+; CHECK-NEXT: Eliminate Available Externally Globals
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Deduce function attributes in RPO
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Float to int
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Distribution
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Vectorization
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Loop Load Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: SLP Vectorizer
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Alignment from assumptions
+; CHECK-NEXT: Strip Unused Function Prototypes
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: Merge Duplicate Global Constants
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Sink
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Remove redundant instructions
+; CHECK-NEXT: Hoist/decompose integer division and remainder
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Bitcode Writer
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+
+define void @f() {
+ ret void
+}
Added: llvm/trunk/test/Other/opt-O3-pipeline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Other/opt-O3-pipeline.ll?rev=328160&view=auto
==============================================================================
--- llvm/trunk/test/Other/opt-O3-pipeline.ll (added)
+++ llvm/trunk/test/Other/opt-O3-pipeline.ll Wed Mar 21 15:17:31 2018
@@ -0,0 +1,299 @@
+; RUN: opt -mtriple=x86_64-- -O3 -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s
+
+; REQUIRES: asserts
+
+; CHECK-LABEL: Pass Arguments:
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Early CSE
+; CHECK-NEXT: Lower 'expect' Intrinsics
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Target Pass Configuration
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Profile summary info
+; CHECK-NEXT: ModulePass Manager
+; CHECK-NEXT: Force set function attributes
+; CHECK-NEXT: Infer set function attributes
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Call-site splitting
+; CHECK-NEXT: Interprocedural Sparse Conditional Constant Propagation
+; CHECK-NEXT: Called Value Propagation
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Promote Memory to Register
+; CHECK-NEXT: Dead Argument Elimination
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: Call Graph SCC Pass Manager
+; CHECK-NEXT: Remove unused exception handling info
+; CHECK-NEXT: Function Integration/Inlining
+; CHECK-NEXT: Deduce function attributes
+; CHECK-NEXT: Promote 'by reference' arguments to scalars
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory SSA
+; CHECK-NEXT: Early CSE w/ MemorySSA
+; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Combine pattern based expressions
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Conditionally eliminate dead library calls
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: PGOMemOPSize
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Tail Call Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Reassociate expressions
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Unswitch loops
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Induction Variable Simplification
+; CHECK-NEXT: Recognize loop idioms
+; CHECK-NEXT: Delete dead loops
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: MergedLoadStoreMotion
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Global Value Numbering
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: MemCpy Optimization
+; CHECK-NEXT: Sparse Conditional Constant Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Bit-Tracking Dead Code Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Dead Store Elimination
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Post-Dominator Tree Construction
+; CHECK-NEXT: Aggressive Dead Code Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: A No-Op Barrier Pass
+; CHECK-NEXT: Eliminate Available Externally Globals
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Deduce function attributes in RPO
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Float to int
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Distribution
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Vectorization
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Loop Load Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: SLP Vectorizer
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Alignment from assumptions
+; CHECK-NEXT: Strip Unused Function Prototypes
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: Merge Duplicate Global Constants
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Sink
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Remove redundant instructions
+; CHECK-NEXT: Hoist/decompose integer division and remainder
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Bitcode Writer
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+
+define void @f() {
+ ret void
+}
Added: llvm/trunk/test/Other/opt-Os-pipeline.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Other/opt-Os-pipeline.ll?rev=328160&view=auto
==============================================================================
--- llvm/trunk/test/Other/opt-Os-pipeline.ll (added)
+++ llvm/trunk/test/Other/opt-Os-pipeline.ll Wed Mar 21 15:17:31 2018
@@ -0,0 +1,281 @@
+; RUN: opt -mtriple=x86_64-- -Os -debug-pass=Structure < %s -o /dev/null 2>&1 | FileCheck %s
+
+; REQUIRES: asserts
+
+; CHECK-LABEL: Pass Arguments:
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Instrument function entry/exit with calls to e.g. mcount() (pre inlining)
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Early CSE
+; CHECK-NEXT: Lower 'expect' Intrinsics
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: Target Transform Information
+; CHECK-NEXT: Target Pass Configuration
+; CHECK-NEXT: Type-Based Alias Analysis
+; CHECK-NEXT: Scoped NoAlias Alias Analysis
+; CHECK-NEXT: Assumption Cache Tracker
+; CHECK-NEXT: Profile summary info
+; CHECK-NEXT: ModulePass Manager
+; CHECK-NEXT: Force set function attributes
+; CHECK-NEXT: Infer set function attributes
+; CHECK-NEXT: Interprocedural Sparse Conditional Constant Propagation
+; CHECK-NEXT: Called Value Propagation
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Promote Memory to Register
+; CHECK-NEXT: Dead Argument Elimination
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: Call Graph SCC Pass Manager
+; CHECK-NEXT: Remove unused exception handling info
+; CHECK-NEXT: Function Integration/Inlining
+; CHECK-NEXT: Deduce function attributes
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: SROA
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory SSA
+; CHECK-NEXT: Early CSE w/ MemorySSA
+; CHECK-NEXT: Speculatively execute instructions if target has divergent branches
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Tail Call Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Reassociate expressions
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Unswitch loops
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Induction Variable Simplification
+; CHECK-NEXT: Recognize loop idioms
+; CHECK-NEXT: Delete dead loops
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: MergedLoadStoreMotion
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Global Value Numbering
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: MemCpy Optimization
+; CHECK-NEXT: Sparse Conditional Constant Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Bit-Tracking Dead Code Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Lazy Value Information Analysis
+; CHECK-NEXT: Jump Threading
+; CHECK-NEXT: Value Propagation
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Memory Dependence Analysis
+; CHECK-NEXT: Dead Store Elimination
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Post-Dominator Tree Construction
+; CHECK-NEXT: Aggressive Dead Code Elimination
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: A No-Op Barrier Pass
+; CHECK-NEXT: Eliminate Available Externally Globals
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Deduce function attributes in RPO
+; CHECK-NEXT: Global Variable Optimizer
+; CHECK-NEXT: Unnamed pass: implement Pass::getPassName()
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: CallGraph Construction
+; CHECK-NEXT: Globals Alias Analysis
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Float to int
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Rotate Loops
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Distribution
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Loop Vectorization
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Loop Access Analysis
+; CHECK-NEXT: Loop Load Elimination
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Demanded bits analysis
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: SLP Vectorizer
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Unroll loops
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Combine redundant instructions
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Invariant Code Motion
+; CHECK-NEXT: Alignment from assumptions
+; CHECK-NEXT: Strip Unused Function Prototypes
+; CHECK-NEXT: Dead Global Elimination
+; CHECK-NEXT: Merge Duplicate Global Constants
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Canonicalize natural loops
+; CHECK-NEXT: LCSSA Verifier
+; CHECK-NEXT: Loop-Closed SSA Form Pass
+; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
+; CHECK-NEXT: Function Alias Analysis Results
+; CHECK-NEXT: Scalar Evolution Analysis
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Loop Pass Manager
+; CHECK-NEXT: Loop Sink
+; CHECK-NEXT: Lazy Branch Probability Analysis
+; CHECK-NEXT: Lazy Block Frequency Analysis
+; CHECK-NEXT: Optimization Remark Emitter
+; CHECK-NEXT: Remove redundant instructions
+; CHECK-NEXT: Hoist/decompose integer division and remainder
+; CHECK-NEXT: Simplify the CFG
+; CHECK-NEXT: Module Verifier
+; CHECK-NEXT: Bitcode Writer
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+; CHECK-NEXT: Pass Arguments:
+; CHECK-NEXT: Target Library Information
+; CHECK-NEXT: FunctionPass Manager
+; CHECK-NEXT: Dominator Tree Construction
+; CHECK-NEXT: Natural Loop Information
+; CHECK-NEXT: Branch Probability Analysis
+; CHECK-NEXT: Block Frequency Analysis
+
+define void @f() {
+ ret void
+}
More information about the llvm-commits
mailing list