instrprof-reset-counters.c revision 2d1fdb26e458c4ddc04155c1d421bced3ba90cd0
1// RUN: %clang_profgen -o %t -O3 %s 2// RUN: env LLVM_PROFILE_FILE=%t.profraw %run %t 3// RUN: llvm-profdata merge -o %t.profdata %t.profraw 4// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s 5 6void __llvm_profile_reset_counters(void); 7void foo(int); 8int main(void) { 9 foo(0); 10 __llvm_profile_reset_counters(); 11 foo(1); 12 return 0; 13} 14void foo(int N) { 15 // CHECK-LABEL: define void @foo( 16 // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof ![[FOO:[0-9]+]] 17 if (N) {} 18} 19// CHECK: ![[FOO]] = metadata !{metadata !"branch_weights", i32 2, i32 1} 20