Mercurial > hg > CbC > CbC_llvm
comparison test/Transforms/AddDiscriminators/multiple.ll @ 95:afa8332a0e37 LLVM3.8
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | 60c9769439b8 |
children | 7d135dc70f03 |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
13 define void @foo(i32 %i) #0 { | 13 define void @foo(i32 %i) #0 { |
14 entry: | 14 entry: |
15 %i.addr = alloca i32, align 4 | 15 %i.addr = alloca i32, align 4 |
16 %x = alloca i32, align 4 | 16 %x = alloca i32, align 4 |
17 store i32 %i, i32* %i.addr, align 4 | 17 store i32 %i, i32* %i.addr, align 4 |
18 %0 = load i32* %i.addr, align 4, !dbg !10 | 18 %0 = load i32, i32* %i.addr, align 4, !dbg !10 |
19 %cmp = icmp slt i32 %0, 10, !dbg !10 | 19 %cmp = icmp slt i32 %0, 10, !dbg !10 |
20 br i1 %cmp, label %if.then, label %if.else, !dbg !10 | 20 br i1 %cmp, label %if.then, label %if.else, !dbg !10 |
21 | 21 |
22 if.then: ; preds = %entry | 22 if.then: ; preds = %entry |
23 %1 = load i32* %i.addr, align 4, !dbg !10 | 23 %1 = load i32, i32* %i.addr, align 4, !dbg !10 |
24 ; CHECK: %1 = load i32* %i.addr, align 4, !dbg !12 | 24 ; CHECK: %1 = load i32, i32* %i.addr, align 4, !dbg ![[THEN:[0-9]+]] |
25 | 25 |
26 store i32 %1, i32* %x, align 4, !dbg !10 | 26 store i32 %1, i32* %x, align 4, !dbg !10 |
27 ; CHECK: store i32 %1, i32* %x, align 4, !dbg !12 | 27 ; CHECK: store i32 %1, i32* %x, align 4, !dbg ![[THEN]] |
28 | 28 |
29 br label %if.end, !dbg !10 | 29 br label %if.end, !dbg !10 |
30 ; CHECK: br label %if.end, !dbg !12 | 30 ; CHECK: br label %if.end, !dbg ![[THEN]] |
31 | 31 |
32 if.else: ; preds = %entry | 32 if.else: ; preds = %entry |
33 %2 = load i32* %i.addr, align 4, !dbg !10 | 33 %2 = load i32, i32* %i.addr, align 4, !dbg !10 |
34 ; CHECK: %2 = load i32* %i.addr, align 4, !dbg !14 | 34 ; CHECK: %2 = load i32, i32* %i.addr, align 4, !dbg ![[ELSE:[0-9]+]] |
35 | 35 |
36 %sub = sub nsw i32 0, %2, !dbg !10 | 36 %sub = sub nsw i32 0, %2, !dbg !10 |
37 ; CHECK: %sub = sub nsw i32 0, %2, !dbg !14 | 37 ; CHECK: %sub = sub nsw i32 0, %2, !dbg ![[ELSE]] |
38 | 38 |
39 store i32 %sub, i32* %x, align 4, !dbg !10 | 39 store i32 %sub, i32* %x, align 4, !dbg !10 |
40 ; CHECK: store i32 %sub, i32* %x, align 4, !dbg !14 | 40 ; CHECK: store i32 %sub, i32* %x, align 4, !dbg ![[ELSE]] |
41 | 41 |
42 br label %if.end | 42 br label %if.end |
43 | 43 |
44 if.end: ; preds = %if.else, %if.then | 44 if.end: ; preds = %if.else, %if.then |
45 ret void, !dbg !12 | 45 ret void, !dbg !12 |
49 | 49 |
50 !llvm.dbg.cu = !{!0} | 50 !llvm.dbg.cu = !{!0} |
51 !llvm.module.flags = !{!7, !8} | 51 !llvm.module.flags = !{!7, !8} |
52 !llvm.ident = !{!9} | 52 !llvm.ident = !{!9} |
53 | 53 |
54 !0 = !{!"0x11\0012\00clang version 3.5 (trunk 199750) (llvm/trunk 199751)\000\00\000\00\000", !1, !2, !2, !3, !2, !2} ; [ DW_TAG_compile_unit ] [multiple.c] [DW_LANG_C99] | 54 !0 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 (trunk 199750) (llvm/trunk 199751)", isOptimized: false, emissionKind: 0, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2) |
55 !1 = !{!"multiple.c", !"."} | 55 !1 = !DIFile(filename: "multiple.c", directory: ".") |
56 !2 = !{i32 0} | 56 !2 = !{} |
57 !3 = !{!4} | 57 !3 = !{!4} |
58 !4 = !{!"0x2e\00foo\00foo\00\001\000\001\000\006\00256\000\001", !1, !5, !6, null, void (i32)* @foo, null, null, !2} ; [ DW_TAG_subprogram ] [line 1] [def] [foo] | 58 !4 = distinct !DISubprogram(name: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32)* @foo, variables: !2) |
59 !5 = !{!"0x29", !1} ; [ DW_TAG_file_type ] [multiple.c] | 59 !5 = !DIFile(filename: "multiple.c", directory: ".") |
60 !6 = !{!"0x15\00\000\000\000\000\000\000", i32 0, null, null, !2, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] | 60 !6 = !DISubroutineType(types: !{null, !13}) |
61 !13 = !DIBasicType(encoding: DW_ATE_signed, name: "int", size: 32, align: 32) | |
61 !7 = !{i32 2, !"Dwarf Version", i32 4} | 62 !7 = !{i32 2, !"Dwarf Version", i32 4} |
62 !8 = !{i32 1, !"Debug Info Version", i32 2} | 63 !8 = !{i32 1, !"Debug Info Version", i32 3} |
63 !9 = !{!"clang version 3.5 (trunk 199750) (llvm/trunk 199751)"} | 64 !9 = !{!"clang version 3.5 (trunk 199750) (llvm/trunk 199751)"} |
64 !10 = !MDLocation(line: 3, scope: !11) | 65 !10 = !DILocation(line: 3, scope: !11) |
65 !11 = !{!"0xb\003\000\000", !1, !4} ; [ DW_TAG_lexical_block ] [multiple.c] | 66 !11 = distinct !DILexicalBlock(line: 3, column: 0, file: !1, scope: !4) |
66 !12 = !MDLocation(line: 4, scope: !4) | 67 !12 = !DILocation(line: 4, scope: !4) |
67 | 68 |
68 ; CHECK: !12 = !MDLocation(line: 3, scope: !13) | 69 ; CHECK: ![[THEN]] = !DILocation(line: 3, scope: ![[THENBLOCK:[0-9]+]]) |
69 ; CHECK: !13 = !{!"0xb\001", !1, !11} ; [ DW_TAG_lexical_block ] [./multiple.c] | 70 ; CHECK: ![[THENBLOCK]] = !DILexicalBlockFile(scope: ![[SCOPE:[0-9]+]],{{.*}} discriminator: 1) |
70 ; CHECK: !14 = !MDLocation(line: 3, scope: !15) | 71 ; CHECK: ![[ELSE]] = !DILocation(line: 3, scope: ![[ELSEBLOCK:[0-9]+]]) |
71 ; CHECK: !15 = !{!"0xb\002", !1, !11} ; [ DW_TAG_lexical_block ] [./multiple.c] | 72 ; CHECK: ![[ELSEBLOCK]] = !DILexicalBlockFile(scope: ![[SCOPE]],{{.*}} discriminator: 2) |