1 define weak_odr i32 @foo(i32 %a, i32 %b) { 2 entry: 3 %sum = add i32 %a, %b, !dbg !MDLocation(line: 2, scope: !3) 4 ret i32 %sum, !dbg !MDLocation(line: 3, scope: !3) 5 } 6 7 !llvm.module.flags = !{!0} 8 !0 = !{i32 2, !"Debug Info Version", i32 3} 9 10 !llvm.dbg.cu = !{!1} 11 !1 = !MDCompileUnit(language: DW_LANG_C99, file: !2, subprograms: !{!3}, emissionKind: 1) 12 !2 = !MDFile(filename: "foo.c", directory: "/path/to/dir") 13 !3 = !MDSubprogram(file: !4, scope: !4, line: 1, name: "foo", function: i32 (i32, i32)* @foo, type: !5) 14 !4 = !MDFile(filename: "foo.h", directory: "/path/to/dir") 15 !5 = !MDSubroutineType(types: !{}) 16