| // RUN: %clang_cc1 -fdebug-pass-manager -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -o - 2>&1 | FileCheck %s -check-prefix=SAMPLEPGO | 
 | // RUN: %clang_cc1 -fdebug-pass-manager -O2 -fprofile-sample-use=%S/Inputs/pgo-sample-thinlto-summary.prof %s -emit-llvm -flto=thin -o - 2>&1 | FileCheck %s -check-prefix=THINLTO | 
 |  | 
 | int baz(int); | 
 | int g; | 
 |  | 
 | void foo(int n) { | 
 |   for (int i = 0; i < n; i++) | 
 |     g += baz(i); | 
 | } | 
 |  | 
 | // Checks that loop unroll and icp are invoked by normal compile, but not thinlto compile. | 
 |  | 
 | // SAMPLEPGO:               Running pass: PGOIndirectCallPromotion on [module] | 
 | // SAMPLEPGO:               Running pass: LoopUnrollPass on bar | 
 |  | 
 | // THINLTO-NOT:             Running pass: PGOIndirectCallPromotion on [module] | 
 | // THINLTO-NOT:             Running pass: LoopUnrollPass on bar | 
 |  | 
 | // Checks if hot call is inlined by normal compile, but not inlined by | 
 | // thinlto compile. | 
 | // SAMPLEPGO-LABEL: define {{(dso_local )?}}void @bar | 
 | // THINLTO-LABEL: define {{(dso_local )?}}void @bar | 
 | // SAMPLEPGO-NOT: call{{.*}}foo | 
 | // THINLTO: call{{.*}}foo | 
 | void bar(int n) { | 
 |   for (int i = 0; i < n; i++) | 
 |     foo(i); | 
 | } |