DI: Require subprogram definitions to be distinct
[oota-llvm.git] / test / Linker / 2009-09-03-mdnode2.ll
1 ; This file is used by 2009-09-03-mdnode.ll, so it doesn't actually do anything itself
2 ;
3 ; RUN: true
4
5 define i32 @f(...) nounwind {
6 entry:
7   %retval = alloca i32                            ; <i32*> [#uses=1]
8   call void @llvm.dbg.func.start(metadata !0)
9   br label %return
10
11 return:                                           ; preds = %entry
12   %0 = load i32, i32* %retval                          ; <i32> [#uses=1]
13   call void @llvm.dbg.stoppoint(i32 3, i32 1, metadata !1)
14   call void @llvm.dbg.region.end(metadata !0)
15   ret i32 %0
16 }
17
18 declare void @llvm.dbg.func.start(metadata) nounwind readnone
19
20 declare void @llvm.dbg.stoppoint(i32, i32, metadata) nounwind readnone
21
22 declare void @llvm.dbg.region.end(metadata) nounwind readnone
23
24 !0 = distinct !DISubprogram(name: "f", linkageName: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !1)
25 !1 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "ellcc 0.1.0", isOptimized: true, emissionKind: 0, file: !2)
26 !2 = !DIFile(filename: "b.c", directory: "/home/rich/ellcc/test/source")