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 | |