1 ; RUN: llc -march=mipsel -mcpu=mips32r6 -relocation-model=static \
2 ; RUN: -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=STATIC32
3 ; RUN: llc -march=mipsel -mcpu=mips64r6 -relocation-model=pic -target-abi n64 \
4 ; RUN: -disable-mips-delay-filler < %s | FileCheck %s -check-prefix=PIC
6 ; Function Attrs: nounwind
10 %call = tail call i32 @k()
12 %call1 = tail call i32 @j()
13 %cmp = icmp eq i32 %call, %call1
15 br i1 %cmp, label %if.then, label %if.end
17 if.then: ; preds = %entry:
21 tail call void @f(i32 signext -2)
24 if.end: ; preds = %if.then, %entry
33 declare void @f(i32 signext)
35 ; Function Attrs: define void @l2() {
39 %call = tail call i32 @k()
41 %call1 = tail call i32 @i()
42 %cmp = icmp eq i32 %call, %call1
44 br i1 %cmp, label %if.end, label %if.then
46 if.then: ; preds = %entry:
50 tail call void @f(i32 signext -1)
53 if.end: ; preds = %entry, %if.then
60 ; Function Attrs: nounwind
64 %call = tail call i32 @k()
65 %cmp = icmp slt i32 %call, 0
67 br i1 %cmp, label %if.then, label %if.end
69 if.then: ; preds = %entry:
73 tail call void @f(i32 signext 0)
76 if.end: ; preds = %if.then, %entry
81 ; Function Attrs: nounwind
84 %call = tail call i32 @k()
85 %cmp = icmp slt i32 %call, 1
87 br i1 %cmp, label %if.then, label %if.end
89 if.then: ; preds = %entry:
92 tail call void @f(i32 signext 1)
95 if.end: ; preds = %if.then, %entry
100 ; Function Attrs: nounwind
104 %call = tail call i32 @k()
106 %cmp = icmp sgt i32 %call, 0
108 br i1 %cmp, label %if.then, label %if.end
110 if.then: ; preds = %entry:
114 tail call void @f(i32 signext 2)
117 if.end: ; preds = %if.then, %entry
122 ; Function Attrs: nounwind
126 %call = tail call i32 @k()
128 %cmp = icmp sgt i32 %call, -1
130 br i1 %cmp, label %if.then, label %if.end
132 if.then: ; preds = %entry:
136 tail call void @f(i32 signext 3)
139 if.end: ; preds = %if.then, %entry
144 ; Function Attrs: nounwind
148 %call = tail call i32 @k()
149 %cmp = icmp eq i32 %call, 0
151 br i1 %cmp, label %if.then, label %if.end
153 if.then: ; preds = %entry:
157 tail call void @f(i32 signext 4)
160 if.end: ; preds = %if.then, %entry
165 ; Function Attrs: nounwind
169 %call = tail call i32 @k()
170 %cmp = icmp eq i32 %call, 0
172 br i1 %cmp, label %if.end, label %if.then
174 if.then: ; preds = %entry:
178 tail call void @f(i32 signext 5)
181 if.end: ; preds = %entry, %if.then
186 define i32 @l9(i8* ()* %i) #0 {
188 %i.addr = alloca i8* ()*, align 4
189 store i8* ()* %i, i8* ()** %i.addr, align 4
193 %call = call i32 @k()
195 %cmp = icmp ne i32 %call, 0
197 br i1 %cmp, label %if.then, label %if.end
199 if.then: ; preds = %entry
200 %0 = load i8* ()*, i8* ()** %i.addr, align 4
202 %call1 = call i8* %0()
205 if.end: ; preds = %if.then, %entry