1 // This file tests that -fprofile-sample-use enables location tracking 2 // generation in the same way that -Rpass does. The sample profiler needs 3 // to associate line locations in the profile to the code, so it needs the 4 // frontend to emit source location annotations. 5 6 // RUN: %clang_cc1 %s -fprofile-sample-use=%S/Inputs/profile-sample-use-loc-tracking.prof -emit-llvm -o - 2>/dev/null | FileCheck %s 7 8 // -fprofile-sample-use should produce source location annotations, exclusively 9 // (just like -gmlt). 10 // CHECK: , !dbg ! 11 // CHECK-NOT: DW_TAG_base_type 12 13 // The CU should be marked NoDebug (to prevent writing debug info to 14 // the final output). 15 // CHECK: !llvm.dbg.cu = !{![[CU:.*]]} 16 // CHECK: ![[CU]] = distinct !DICompileUnit({{.*}}emissionKind: NoDebug 17 18 int bar(int j) { 19 return (j + j - 2) * (j - 2) * j; 20 } 21