1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-bcanalyzer -dump | FileCheck %s -check-prefix=BC 2*9880d681SAndroid Build Coastguard Worker; PR23436: Actually emit DEBUG_LOC_AGAIN records. 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC op 5*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC_AGAIN/> 6*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC op 7*9880d681SAndroid Build Coastguard Worker; BC: <DEBUG_LOC_AGAIN/> 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as < %s | llvm-dis | FileCheck %s 10*9880d681SAndroid Build Coastguard Worker; RUN: verify-uselistorder %s 11*9880d681SAndroid Build Coastguard Worker; Check that this round-trips correctly. 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine void @foo() { 14*9880d681SAndroid Build Coastguard Workerentry: 15*9880d681SAndroid Build Coastguard Worker %a = add i32 0, 0, !dbg !3 16*9880d681SAndroid Build Coastguard Worker %b = add i32 0, 1, !dbg !3 17*9880d681SAndroid Build Coastguard Worker %c = add i32 0, 2, !dbg !4 18*9880d681SAndroid Build Coastguard Worker ret void, !dbg !4 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: entry: 22*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %a = add i32 0, 0, !dbg ![[LINE1:[0-9]+]] 23*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %b = add i32 0, 1, !dbg ![[LINE1]] 24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: %c = add i32 0, 2, !dbg ![[LINE2:[0-9]+]] 25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ret void, !dbg ![[LINE2]] 26*9880d681SAndroid Build Coastguard Worker; CHECK: ![[LINE1]] = !DILocation(line: 1, 27*9880d681SAndroid Build Coastguard Worker; CHECK: ![[LINE2]] = !DILocation(line: 2, 28*9880d681SAndroid Build Coastguard Worker 29*9880d681SAndroid Build Coastguard Worker!llvm.module.flags = !{!0} 30*9880d681SAndroid Build Coastguard Worker!llvm.dbg.cu = !{!1} 31*9880d681SAndroid Build Coastguard Worker 32*9880d681SAndroid Build Coastguard Worker!0 = !{i32 2, !"Debug Info Version", i32 3} 33*9880d681SAndroid Build Coastguard Worker!1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !DIFile(filename: "f", directory: "/d")) 34*9880d681SAndroid Build Coastguard Worker!2 = distinct !DISubprogram(name: "foo", unit: !1) 35*9880d681SAndroid Build Coastguard Worker!3 = !DILocation(line: 1, scope: !2) 36*9880d681SAndroid Build Coastguard Worker!4 = !DILocation(line: 2, scope: !2) 37