1c5d84d2eSAdrian Prantl; RUN: llc -O0 -stop-before=livedebugvalues < %s | FileCheck %s 2c5d84d2eSAdrian Prantl 3c5d84d2eSAdrian Prantl; ModuleID = '/tmp/t.o' 4c5d84d2eSAdrian Prantlsource_filename = "/tmp/t.o" 5c5d84d2eSAdrian Prantltarget datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" 6c5d84d2eSAdrian Prantltarget triple = "arm64-apple-macosx11.0.0" 7c5d84d2eSAdrian Prantl 8c5d84d2eSAdrian Prantldefine swiftcc void @"$s1t1f1bySb_tF"(i1 %0) !dbg !35 { 9c5d84d2eSAdrian Prantl %2 = alloca i1, align 8 10*3a05e01dSFangrui Song %3 = bitcast ptr %2 to ptr 11*3a05e01dSFangrui Song call void @llvm.memset.p0.i64(ptr align 8 %3, i8 0, i64 1, i1 false) 12*3a05e01dSFangrui Song store i1 %0, ptr %2, align 8, !dbg !37 130315fca9SDaniel Hoekwater; CHECK: B %[[BB4:bb\.[0-9]+]], debug-location !{{[0-9]+}} 14c5d84d2eSAdrian Prantl br i1 %0, label %4, label %5, !dbg !38 15c5d84d2eSAdrian Prantl 16c5d84d2eSAdrian Prantl4: ; preds = %1 170315fca9SDaniel Hoekwater; CHECK: [[BB4]] 18c5d84d2eSAdrian Prantl; Check that at -O0 the branches and their debug locations are not eliminated. 190315fca9SDaniel Hoekwater; CHECK: B %[[BB6:bb\.[0-9]+]], debug-location !{{[0-9]+}} 20c5d84d2eSAdrian Prantl br label %6, !dbg !39 21c5d84d2eSAdrian Prantl 22c5d84d2eSAdrian Prantl5: ; preds = %1 230315fca9SDaniel Hoekwater; CHECK: B %[[BB6]], debug-location !{{[0-9]+}} 24c5d84d2eSAdrian Prantl br label %6, !dbg !40 25c5d84d2eSAdrian Prantl 26c5d84d2eSAdrian Prantl6: ; preds = %4, %5 27c5d84d2eSAdrian Prantl ret void, !dbg !39 28c5d84d2eSAdrian Prantl} 29c5d84d2eSAdrian Prantl 30c5d84d2eSAdrian Prantl; Function Attrs: argmemonly nofree nosync nounwind willreturn writeonly 31*3a05e01dSFangrui Songdeclare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #1 32c5d84d2eSAdrian Prantlattributes #1 = { argmemonly nofree nosync nounwind willreturn writeonly } 33c5d84d2eSAdrian Prantl 34c5d84d2eSAdrian Prantl!llvm.module.flags = !{!6, !7, !14} 35c5d84d2eSAdrian Prantl!llvm.dbg.cu = !{!15, !27} 36c5d84d2eSAdrian Prantl 37c5d84d2eSAdrian Prantl!6 = !{i32 7, !"Dwarf Version", i32 4} 38c5d84d2eSAdrian Prantl!7 = !{i32 2, !"Debug Info Version", i32 3} 39c5d84d2eSAdrian Prantl!14 = !{i32 1, !"Swift Version", i32 7} 40c5d84d2eSAdrian Prantl!15 = distinct !DICompileUnit(language: DW_LANG_Swift, file: !16, producer: "Swift", emissionKind: LineTablesOnly) 41c5d84d2eSAdrian Prantl!16 = !DIFile(filename: "t.swift", directory: "/tmp") 42c5d84d2eSAdrian Prantl!17 = !{} 43c5d84d2eSAdrian Prantl!27 = distinct !DICompileUnit(language: DW_LANG_ObjC, file: !16, emissionKind: LineTablesOnly) 44c5d84d2eSAdrian Prantl!35 = distinct !DISubprogram(name: "f", linkageName: "$s1t1f1bySb_tF", scope: !15, file: !16, line: 1, type: !36, scopeLine: 1, spFlags: DISPFlagDefinition, unit: !15, retainedNodes: !17) 45c5d84d2eSAdrian Prantl!36 = !DISubroutineType(types: null) 46c5d84d2eSAdrian Prantl!37 = !DILocation(line: 0, scope: !35) 47c5d84d2eSAdrian Prantl!38 = !DILocation(line: 2, column: 9, scope: !35) 48c5d84d2eSAdrian Prantl!39 = !DILocation(line: 3, column: 1, scope: !35) 49c5d84d2eSAdrian Prantl!40 = !DILocation(line: 2, column: 18, scope: !35) 50