1; RUN: opt -debug-pass-manager -passes='default<O0>' -pgo-kind=pgo-instr-gen-pipeline -profile-file='temp' %s 2>&1 |FileCheck %s --check-prefixes=GEN 2; RUN: llvm-profdata merge %S/Inputs/new-pm-pgo.proftext -o %t.profdata 3; RUN: opt -debug-pass-manager -passes='default<O0>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 |FileCheck %s --check-prefixes=USE_DEFAULT,USE 4; RUN: opt -debug-pass-manager -passes='thinlto-pre-link<O0>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 \ 5; RUN: |FileCheck %s --check-prefixes=USE_PRE_LINK,USE 6; RUN: opt -debug-pass-manager -passes='lto-pre-link<O0>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 \ 7; RUN: |FileCheck %s --check-prefixes=USE_PRE_LINK,USE 8; RUN: opt -debug-pass-manager -passes='thinlto<O0>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 \ 9; RUN: |FileCheck %s --check-prefixes=USE_POST_LINK,USE 10; RUN: opt -debug-pass-manager -passes='lto<O0>' -pgo-kind=pgo-instr-use-pipeline -profile-file='%t.profdata' %s 2>&1 \ 11; RUN: |FileCheck %s --check-prefixes=USE_POST_LINK,USE 12 13; 14; GEN: Running pass: PGOInstrumentationGen 15; USE_DEFAULT: Running pass: PGOInstrumentationUse 16; USE_PRE_LINK: Running pass: PGOInstrumentationUse 17; USE_POST_LINK-NOT: Running pass: PGOInstrumentationUse 18; USE-NOT: Running pass: PGOIndirectCallPromotion 19; USE-NOT: Running pass: PGOMemOPSizeOpt 20 21define void @foo() { 22 ret void 23} 24