source: icGREP/icgrep-devel/llvm-3.8.0.src/test/CodeGen/ARM/2009-06-30-RegScavengerAssert4.ll @ 5027

Last change on this file since 5027 was 5027, checked in by cameron, 3 years ago

Upgrade to llvm 3.8

File size: 4.5 KB
Line 
1; RUN: llc < %s -march=arm -mtriple=armv6-apple-darwin9
2
3@r = external global i32                ; <i32*> [#uses=1]
4@qr = external global i32               ; <i32*> [#uses=1]
5@II = external global i32*              ; <i32**> [#uses=1]
6@no_mis = external global i32           ; <i32*> [#uses=1]
7@name1 = external global i8*            ; <i8**> [#uses=1]
8
9declare void @diff(i8*, i8*, i32, i32, i32, i32) nounwind
10
11define void @SIM(i8* %A, i8* %B, i32 %M, i32 %N, i32 %K, [256 x i32]* %V, i32 %Q, i32 %R, i32 %nseq) nounwind {
12entry:
13        br i1 undef, label %bb5, label %bb
14
15bb:             ; preds = %bb, %entry
16        br label %bb
17
18bb5:            ; preds = %entry
19        br i1 undef, label %bb6, label %bb8
20
21bb6:            ; preds = %bb6, %bb5
22        br i1 undef, label %bb8, label %bb6
23
24bb8:            ; preds = %bb6, %bb5
25        %0 = load i8*, i8** @name1, align 4             ; <i8*> [#uses=0]
26        br label %bb15
27
28bb9:            ; preds = %bb15
29        br i1 undef, label %bb10, label %bb11
30
31bb10:           ; preds = %bb9
32        unreachable
33
34bb11:           ; preds = %bb9
35        store i32 0, i32* @no_mis, align 4
36        %1 = getelementptr i8, i8* %A, i32 0            ; <i8*> [#uses=1]
37        %2 = getelementptr i8, i8* %B, i32 0            ; <i8*> [#uses=1]
38        tail call  void @diff(i8* %1, i8* %2, i32 undef, i32 undef, i32 undef, i32 undef) nounwind
39        br i1 undef, label %bb15, label %bb12
40
41bb12:           ; preds = %bb11
42        %3 = load i32*, i32** @II, align 4              ; <i32*> [#uses=1]
43        %4 = load i32, i32* @r, align 4         ; <i32> [#uses=1]
44        %5 = load i32, i32* @qr, align 4                ; <i32> [#uses=1]
45        br label %bb228.i
46
47bb74.i:         ; preds = %bb228.i
48        br i1 undef, label %bb138.i, label %bb145.i
49
50bb138.i:                ; preds = %bb74.i
51        br label %bb145.i
52
53bb145.i:                ; preds = %bb228.i, %bb138.i, %bb74.i
54        br i1 undef, label %bb146.i, label %bb151.i
55
56bb146.i:                ; preds = %bb145.i
57        br i1 undef, label %bb228.i, label %bb151.i
58
59bb151.i:                ; preds = %bb146.i, %bb145.i
60        br i1 undef, label %bb153.i, label %bb228.i
61
62bb153.i:                ; preds = %bb151.i
63        %6 = add i32 undef, -1          ; <i32> [#uses=3]
64        br i1 undef, label %bb220.i, label %bb.nph.i98
65
66bb.nph.i98:             ; preds = %bb153.i
67        br label %bb158.i
68
69bb158.i:                ; preds = %bb218.i, %bb.nph.i98
70        %c.1020.i = phi i32 [ 0, %bb.nph.i98 ], [ %c.14.i, %bb218.i ]           ; <i32> [#uses=1]
71        %f.419.i = phi i32 [ undef, %bb.nph.i98 ], [ %f.5.i, %bb218.i ]         ; <i32> [#uses=1]
72        %pi.316.i = phi i32 [ undef, %bb.nph.i98 ], [ %10, %bb218.i ]           ; <i32> [#uses=1]
73        %fj.515.i = phi i32 [ %6, %bb.nph.i98 ], [ %fj.4.i, %bb218.i ]          ; <i32> [#uses=2]
74        %fi.614.i = phi i32 [ undef, %bb.nph.i98 ], [ %fi.5.i, %bb218.i ]               ; <i32> [#uses=3]
75        %cj.811.i = phi i32 [ %6, %bb.nph.i98 ], [ %cj.11.i100, %bb218.i ]              ; <i32> [#uses=3]
76        %ci.910.i = phi i32 [ undef, %bb.nph.i98 ], [ %ci.12.i, %bb218.i ]              ; <i32> [#uses=2]
77        %7 = sub i32 %f.419.i, %4               ; <i32> [#uses=5]
78        %8 = sub i32 %c.1020.i, %5              ; <i32> [#uses=2]
79        %9 = icmp slt i32 %7, %8                ; <i1> [#uses=1]
80        br i1 %9, label %bb168.i, label %bb160.i
81
82bb160.i:                ; preds = %bb158.i
83        br i1 undef, label %bb161.i, label %bb168.i
84
85bb161.i:                ; preds = %bb160.i
86        br i1 undef, label %bb168.i, label %bb163.i
87
88bb163.i:                ; preds = %bb161.i
89        br i1 undef, label %bb167.i, label %bb168.i
90
91bb167.i:                ; preds = %bb163.i
92        br label %bb168.i
93
94bb168.i:                ; preds = %bb167.i, %bb163.i, %bb161.i, %bb160.i, %bb158.i
95        %fi.5.i = phi i32 [ %fi.614.i, %bb167.i ], [ %ci.910.i, %bb158.i ], [ %fi.614.i, %bb160.i ], [ %ci.910.i, %bb161.i ], [ %fi.614.i, %bb163.i ]           ; <i32> [#uses=2]
96        %fj.4.i = phi i32 [ %cj.811.i, %bb167.i ], [ %cj.811.i, %bb158.i ], [ %fj.515.i, %bb160.i ], [ %cj.811.i, %bb161.i ], [ %fj.515.i, %bb163.i ]           ; <i32> [#uses=2]
97        %f.5.i = phi i32 [ %7, %bb167.i ], [ %8, %bb158.i ], [ %7, %bb160.i ], [ %7, %bb161.i ], [ %7, %bb163.i ]               ; <i32> [#uses=2]
98        %scevgep88.i = getelementptr i32, i32* %3, i32 undef            ; <i32*> [#uses=1]
99        %ci.10.i = select i1 undef, i32 %pi.316.i, i32 undef            ; <i32> [#uses=0]
100        %ci.12.i = select i1 undef, i32 %fi.5.i, i32 undef              ; <i32> [#uses=1]
101        %cj.11.i100 = select i1 undef, i32 %fj.4.i, i32 undef           ; <i32> [#uses=1]
102        %c.14.i = select i1 undef, i32 %f.5.i, i32 undef                ; <i32> [#uses=1]
103        %10 = load i32, i32* %scevgep88.i, align 4              ; <i32> [#uses=1]
104        br i1 undef, label %bb211.i, label %bb218.i
105
106bb211.i:                ; preds = %bb168.i
107        br label %bb218.i
108
109bb218.i:                ; preds = %bb211.i, %bb168.i
110        br i1 undef, label %bb220.i, label %bb158.i
111
112bb220.i:                ; preds = %bb218.i, %bb153.i
113        %11 = getelementptr i32, i32* null, i32 %6              ; <i32*> [#uses=1]
114        store i32 undef, i32* %11, align 4
115        br i1 undef, label %bb221.i, label %bb228.i
116
117bb221.i:                ; preds = %bb220.i
118        br label %bb228.i
119
120bb228.i:                ; preds = %bb221.i, %bb220.i, %bb151.i, %bb146.i, %bb12
121        br i1 undef, label %bb74.i, label %bb145.i
122
123bb15:           ; preds = %bb11, %bb8
124        br i1 undef, label %return, label %bb9
125
126return:         ; preds = %bb15
127        ret void
128}
Note: See TracBrowser for help on using the repository browser.