1; RUN: opt -passes=hotcoldsplit -hotcoldsplit-threshold=-1 -S %s | FileCheck %s 2; RUN: opt --try-experimental-debuginfo-iterators -passes=hotcoldsplit -hotcoldsplit-threshold=-1 -S %s | FileCheck %s 3declare void @llvm.dbg.assign(metadata, metadata, metadata, metadata, metadata, metadata) 4 5; CHECK: define void @foo 6; CHECK-NOT: dbg.assign 7; CHECK: call void @foo.cold 8; CHECK-NOT: dbg.assign 9; CHECK: define internal void @foo.cold 10; CHECK-NOT: dbg.assign 11define void @foo() !dbg !10 { 12 %buf.i = alloca i32, align 4, !DIAssignID !8 13 br i1 false, label %if.else, label %if.then 14 15if.then: ; preds = %0 16 call void @llvm.dbg.assign(metadata i1 undef, metadata !9, metadata !DIExpression(), metadata !8, metadata ptr %buf.i, metadata !DIExpression()), !dbg !14 17 unreachable 18 19if.else: ; preds = %0 20 ret void 21} 22 23 24!llvm.dbg.cu = !{!0} 25!llvm.module.flags = !{!3} 26 27!0 = distinct !DICompileUnit(language: DW_LANG_C11, file: !1, producer: "blah", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, retainedTypes: !2, globals: !2) 28!1 = !DIFile(filename: "blah", directory: "blah") 29!2 = !{} 30!3 = !{i32 2, !"Debug Info Version", i32 3} 31!6 = distinct !DISubroutineType(types: !7) 32!7 = !{null} 33!8 = distinct !DIAssignID() 34!9 = !DILocalVariable(name: "buf", scope: !10, file: !1, line: 1774, type: !13) 35!10 = distinct !DISubprogram(name: "blah", scope: !1, file: !1, line: 1771, type: !11, scopeLine: 1773, unit: !0, retainedNodes: !2) 36!11 = !DISubroutineType(cc: DW_CC_nocall, types: !7) 37!13 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_unsigned_char) 38!14 = !DILocation(line: 0, scope: !10) 39