14b3202e6SArthur Eubanks; RUN: opt < %s -passes='default<O2>' -debug-info-for-profiling -S | FileCheck %s --check-prefix=DEBUG 24b3202e6SArthur Eubanks; RUN: opt < %s -passes='default<O2>' -debug-info-for-profiling -pseudo-probe-for-profiling -S | FileCheck %s --check-prefix=PROBE 34b3202e6SArthur Eubanks; RUN: opt < %s -passes='thinlto-pre-link<O2>' -debug-info-for-profiling -pseudo-probe-for-profiling -S | FileCheck %s --check-prefix=PROBE 4ccb5b9bbSHongtao Yu 5ccb5b9bbSHongtao Yu 6ccb5b9bbSHongtao Yu@a = dso_local global i32 0, align 4 7ccb5b9bbSHongtao Yu 8ccb5b9bbSHongtao Yu; Function Attrs: uwtable 9ccb5b9bbSHongtao Yudefine void @_Z3foov(i32 %x) #0 !dbg !4 { 10ccb5b9bbSHongtao Yubb0: 11ccb5b9bbSHongtao Yu %cmp = icmp eq i32 %x, 0, !dbg !10 12ccb5b9bbSHongtao Yu br i1 %cmp, label %bb1, label %bb2 13ccb5b9bbSHongtao Yu 14ccb5b9bbSHongtao Yubb1: 15ccb5b9bbSHongtao Yu; DEBUG: call void @_Z3barv(), !dbg ![[CALL1:[0-9]+]] 16ccb5b9bbSHongtao Yu; PROBE: call void @_Z3barv(), !dbg ![[CALL1:[0-9]+]] 17ccb5b9bbSHongtao Yu call void @_Z3barv(), !dbg !10 18ccb5b9bbSHongtao Yu; DEBUG: call void @_Z3barv(), !dbg ![[CALL2:[0-9]+]] 19ccb5b9bbSHongtao Yu; PROBE: call void @_Z3barv(), !dbg ![[CALL2:[0-9]+]] 20ccb5b9bbSHongtao Yu call void @_Z3barv(), !dbg !11 21ccb5b9bbSHongtao Yu ret void, !dbg !13 22ccb5b9bbSHongtao Yu 23ccb5b9bbSHongtao Yubb2: 240271ae65SFangrui Song; DEBUG: store i32 8, ptr @a, align 4, !dbg ![[INST:[0-9]+]] 250271ae65SFangrui Song; PROBE: store i32 8, ptr @a, align 4, !dbg ![[INST:[0-9]+]] 260271ae65SFangrui Song store i32 8, ptr @a, align 4, !dbg !12 27ccb5b9bbSHongtao Yu br label %bb3 28ccb5b9bbSHongtao Yu 29ccb5b9bbSHongtao Yubb3: 30ccb5b9bbSHongtao Yu ret void, !dbg !12 31ccb5b9bbSHongtao Yu} 32ccb5b9bbSHongtao Yu 33ccb5b9bbSHongtao Yudeclare void @_Z3barv() #1 340271ae65SFangrui Songdeclare void @llvm.lifetime.start.p0(i64, ptr nocapture) nounwind argmemonly 350271ae65SFangrui Songdeclare void @llvm.lifetime.end.p0(i64, ptr nocapture) nounwind argmemonly 36ccb5b9bbSHongtao Yu 37ccb5b9bbSHongtao Yuattributes #0 = { uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" } 38ccb5b9bbSHongtao Yuattributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "frame-pointer"="all" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" } 39ccb5b9bbSHongtao Yu 40ccb5b9bbSHongtao Yu!llvm.dbg.cu = !{!0} 41ccb5b9bbSHongtao Yu!llvm.module.flags = !{!7, !8} 42ccb5b9bbSHongtao Yu!llvm.ident = !{!9} 43ccb5b9bbSHongtao Yu 44ccb5b9bbSHongtao Yu!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 3.8.0 (trunk 250915) (llvm/trunk 251830)", isOptimized: false, runtimeVersion: 0, emissionKind: NoDebug, enums: !2) 45ccb5b9bbSHongtao Yu!1 = !DIFile(filename: "c.cc", directory: "/tmp") 46ccb5b9bbSHongtao Yu!2 = !{} 47ccb5b9bbSHongtao Yu!4 = distinct !DISubprogram(name: "foo", linkageName: "_Z3foov", scope: !1, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: false, unit: !0, retainedNodes: !2) 48ccb5b9bbSHongtao Yu!5 = !DISubroutineType(types: !6) 49ccb5b9bbSHongtao Yu!6 = !{null} 50ccb5b9bbSHongtao Yu!7 = !{i32 2, !"Dwarf Version", i32 4} 51ccb5b9bbSHongtao Yu!8 = !{i32 2, !"Debug Info Version", i32 3} 52ccb5b9bbSHongtao Yu!9 = !{!"clang version 3.8.0 (trunk 250915) (llvm/trunk 251830)"} 53ccb5b9bbSHongtao Yu!10 = !DILocation(line: 4, column: 3, scope: !4) 54ccb5b9bbSHongtao Yu!11 = !DILocation(line: 4, column: 9, scope: !4) 55ccb5b9bbSHongtao Yu!12 = !DILocation(line: 4, column: 15, scope: !4) 56ccb5b9bbSHongtao Yu!13 = !DILocation(line: 5, column: 1, scope: !4) 57ccb5b9bbSHongtao Yu 58ccb5b9bbSHongtao Yu; DEBUG: ![[CALL1]] = !DILocation(line: 4, column: 3, scope: ![[CALL1BLOCK:[0-9]+]]) 59ccb5b9bbSHongtao Yu; DEBUG: ![[CALL1BLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 2) 60ccb5b9bbSHongtao Yu; DEBUG: ![[CALL2]] = !DILocation(line: 4, column: 9, scope: ![[CALL2BLOCK:[0-9]+]]) 61ccb5b9bbSHongtao Yu; DEBUG: ![[CALL2BLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 8) 62ccb5b9bbSHongtao Yu; DEBUG: ![[INST]] = !DILocation(line: 4, column: 15, scope: ![[INSTBLOCK:[0-9]+]]) 63ccb5b9bbSHongtao Yu; DEBUG: ![[INSTBLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 4) 64ccb5b9bbSHongtao Yu 65ccb5b9bbSHongtao Yu 66ccb5b9bbSHongtao Yu; PROBE: ![[CALL1]] = !DILocation(line: 4, column: 3, scope: ![[CALL1BLOCK:[0-9]+]]) 67*e20b9047SLei Wang; PROBE: ![[CALL1BLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 455147551) 68ccb5b9bbSHongtao Yu; PROBE: ![[CALL2]] = !DILocation(line: 4, column: 9, scope: ![[CALL2BLOCK:[0-9]+]]) 69*e20b9047SLei Wang; PROBE: ![[CALL2BLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 455344167) 70ccb5b9bbSHongtao Yu; PROBE: ![[INST]] = !DILocation(line: 4, column: 15, scope: ![[INSTBLOCK:[0-9]+]]) 71ccb5b9bbSHongtao Yu; PROBE: ![[INSTBLOCK]] = !DILexicalBlockFile({{.*}} discriminator: 4) 72