Home | History | Annotate | Download | only in Frontend
      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