| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6 | |
| ; RUN: opt < %s -passes=sample-profile -sample-profile-file=%S/Inputs/cfi-suffix.prof -S | FileCheck %s | |
| define void @foo.cfi() #0 !dbg !4 { | |
| ; CHECK-LABEL: define void @foo.cfi( | |
| ; CHECK-SAME: ) #[[ATTR0:[0-9]+]] !dbg [[DBG32:![0-9]+]] !prof [[PROF35:![0-9]+]] { | |
| ; CHECK-NEXT: [[ENTRY:.*:]] | |
| ; CHECK-NEXT: ret void, !dbg [[DBG36:![0-9]+]] | |
| ; | |
| entry: | |
| ret void, !dbg !9 | |
| } | |
| define void @bar.llvm.1234.cfi() #0 !dbg !8 { | |
| ; CHECK-LABEL: define void @bar.llvm.1234.cfi( | |
| ; CHECK-SAME: ) #[[ATTR0]] !dbg [[DBG37:![0-9]+]] !prof [[PROF38:![0-9]+]] { | |
| ; CHECK-NEXT: [[ENTRY:.*:]] | |
| ; CHECK-NEXT: ret void, !dbg [[DBG39:![0-9]+]] | |
| ; | |
| entry: | |
| ret void, !dbg !10 | |
| } | |
| attributes #0 = {"use-sample-profile" "sample-profile-suffix-elision-policy"="selected"} | |
| !llvm.dbg.cu = !{!0} | |
| !llvm.module.flags = !{!11} | |
| !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly) | |
| !1 = !DIFile(filename: "cfi-suffix.c", directory: ".") | |
| !4 = distinct !DISubprogram(name: "foo", scope: !1, file: !1, line: 1, type: !5, isLocal: false, isDefinition: true, scopeLine: 1, isOptimized: false, unit: !0) | |
| !5 = !DISubroutineType(types: !6) | |
| !6 = !{} | |
| !8 = distinct !DISubprogram(name: "bar", scope: !1, file: !1, line: 3, type: !5, isLocal: false, isDefinition: true, scopeLine: 3, isOptimized: false, unit: !0) | |
| !9 = !DILocation(line: 1, column: 15, scope: !4) | |
| !10 = !DILocation(line: 3, column: 15, scope: !8) | |
| !11 = !{i32 2, !"Debug Info Version", i32 3} | |
| ;. | |
| ; CHECK: [[META0:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C99, file: [[META1:![0-9]+]], producer: "clang", isOptimized: false, runtimeVersion: 0, emissionKind: LineTablesOnly) | |
| ; CHECK: [[META1]] = !DIFile(filename: "{{.*}}cfi-suffix.c", directory: {{.*}}) | |
| ; CHECK: [[DBG32]] = distinct !DISubprogram(name: "foo", scope: [[META1]], file: [[META1]], line: 1, type: [[META33:![0-9]+]], scopeLine: 1, spFlags: DISPFlagDefinition, unit: [[META0]]) | |
| ; CHECK: [[META33]] = !DISubroutineType(types: [[META34:![0-9]+]]) | |
| ; CHECK: [[META34]] = !{} | |
| ; CHECK: [[PROF35]] = !{!"function_entry_count", i64 1001} | |
| ; CHECK: [[DBG36]] = !DILocation(line: 1, column: 15, scope: [[DBG32]]) | |
| ; CHECK: [[DBG37]] = distinct !DISubprogram(name: "bar", scope: [[META1]], file: [[META1]], line: 3, type: [[META33]], scopeLine: 3, spFlags: DISPFlagDefinition, unit: [[META0]]) | |
| ; CHECK: [[PROF38]] = !{!"function_entry_count", i64 2001} | |
| ; CHECK: [[DBG39]] = !DILocation(line: 3, column: 15, scope: [[DBG37]]) | |
| ;. |