forked from OSchip/llvm-project
39 lines
2.8 KiB
LLVM
39 lines
2.8 KiB
LLVM
; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-instr-gen-pipeline -profile-file='temp' %s 2>&1 |FileCheck %s --check-prefixes=GEN
|
|
; RUN: llvm-profdata merge %S/Inputs/new-pm-pgo.proftext -o %t.profdata
|
|
; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE
|
|
; RUN: opt -debug-pass-manager -passes='thinlto-pre-link<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE
|
|
; RUN: opt -debug-pass-manager -passes='thinlto<O2>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE_POST_LINK
|
|
; RUN: opt -debug-pass-manager -passes='default<O2>' -hot-cold-split -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE --check-prefixes=SPLIT
|
|
; RUN: opt -debug-pass-manager -passes='default<O2>' -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-pgo.prof' %s 2>&1 \
|
|
; RUN: |FileCheck %s --check-prefixes=SAMPLE_USE,SAMPLE_USE_O
|
|
; RUN: opt -debug-pass-manager -passes='thinlto-pre-link<O2>' -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-pgo.prof' %s 2>&1 \
|
|
; RUN: |FileCheck %s --check-prefixes=SAMPLE_USE,SAMPLE_USE_PRE_LINK
|
|
; RUN: opt -debug-pass-manager -passes='thinlto<O2>' -pgo-kind=pgo-sample-use-pipeline -profile-file='%S/Inputs/new-pm-pgo.prof' %s 2>&1 \
|
|
; RUN: |FileCheck %s --check-prefixes=SAMPLE_USE,SAMPLE_USE_POST_LINK
|
|
; RUN: opt -debug-pass-manager -passes='default<O2>' -new-pm-debug-info-for-profiling %s 2>&1 |FileCheck %s --check-prefixes=SAMPLE_GEN
|
|
;
|
|
; GEN: Running pass: PGOInstrumentationGen
|
|
; USE: Running pass: PGOInstrumentationUse
|
|
; USE: Running pass: PGOIndirectCallPromotion
|
|
; USE: Running pass: PGOMemOPSizeOpt
|
|
; USE_POST_LINK: Running pass: PGOIndirectCallPromotion
|
|
; USE_POST_LINK: Running pass: PGOMemOPSizeOpt
|
|
; SAMPLE_USE_O: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
|
; SAMPLE_USE_PRE_LINK: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
|
; SAMPLE_USE: Running pass: SimplifyCFGPass
|
|
; SAMPLE_USE: Running pass: SROA
|
|
; SAMPLE_USE: Running pass: EarlyCSEPass
|
|
; SAMPLE_USE: Running pass: LowerExpectIntrinsicPass
|
|
; SAMPLE_USE_POST_LINK: Running pass: InstCombinePass
|
|
; SAMPLE_USE: Running pass: SampleProfileLoaderPass
|
|
; SAMPLE_USE_O: Running pass: PGOIndirectCallPromotion
|
|
; SAMPLE_USE_POST_LINK-NOT: Running pass: GlobalOptPass
|
|
; SAMPLE_USE_POST_LINK: Running pass: PGOIndirectCallPromotion
|
|
; SAMPLE_USE_PRE_LINK-NOT: Running pass: PGOIndirectCallPromotion
|
|
; SAMPLE_GEN: Running pass: ModuleToFunctionPassAdaptor<{{.*}}AddDiscriminatorsPass{{.*}}>
|
|
; SPLIT: Running pass: HotColdSplittingPass
|
|
|
|
define void @foo() {
|
|
ret void
|
|
}
|