12d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clang_profgen -o %t -O3 %s
22d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %run %t %t.profraw
32d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: llvm-profdata merge -o %t.profdata %t.profraw
42d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// RUN: %clang_profuse=%t.profdata -o - -S -emit-llvm %s | FileCheck %s
52d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines
62d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesint __llvm_profile_runtime = 0;
72d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesint __llvm_profile_register_write_file_atexit(void);
82d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesvoid __llvm_profile_set_filename(const char *);
92d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesint main(int argc, const char *argv[]) {
102d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines  __llvm_profile_register_write_file_atexit();
112d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines  // CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}}, !prof !1
122d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines  if (argc < 2)
132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines    return 1;
142d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines  __llvm_profile_set_filename(argv[1]);
152d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines  return 0;
162d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines}
172d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hines// CHECK: !1 = metadata !{metadata !"branch_weights", i32 1, i32 2}
18