• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: llc < %s | grep cgfi | count 8
2; RUN: llc < %s | grep clgfi | count 2
3
4target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
5target triple = "s390x-unknown-linux-gnu"
6
7define void @foo(i64 %a, i64 %b) nounwind {
8entry:
9	%cmp = icmp eq i64 %a, 0		; <i1> [#uses=1]
10	br i1 %cmp, label %if.then, label %if.end
11
12if.then:		; preds = %entry
13	tail call void @bar() nounwind
14	ret void
15
16if.end:		; preds = %entry
17	ret void
18}
19
20declare void @bar()
21
22define void @foo1(i64 %a, i64 %b) nounwind {
23entry:
24	%cmp = icmp ugt i64 %a, 1		; <i1> [#uses=1]
25	br i1 %cmp, label %if.then, label %if.end
26
27if.then:		; preds = %entry
28	tail call void @bar() nounwind
29	ret void
30
31if.end:		; preds = %entry
32	ret void
33}
34
35define void @foo2(i64 %a, i64 %b) nounwind {
36entry:
37	%cmp = icmp ugt i64 %a, 1		; <i1> [#uses=1]
38	br i1 %cmp, label %if.end, label %if.then
39
40if.then:		; preds = %entry
41	tail call void @bar() nounwind
42	ret void
43
44if.end:		; preds = %entry
45	ret void
46}
47
48define void @foo3(i64 %a) nounwind {
49entry:
50	%cmp = icmp eq i64 %a, 0		; <i1> [#uses=1]
51	br i1 %cmp, label %if.end, label %if.then
52
53if.then:		; preds = %entry
54	tail call void @bar() nounwind
55	ret void
56
57if.end:		; preds = %entry
58	ret void
59}
60
61define void @foo4(i64 %a) nounwind {
62entry:
63	%cmp = icmp eq i64 %a, 1		; <i1> [#uses=1]
64	br i1 %cmp, label %if.then, label %if.end
65
66if.then:		; preds = %entry
67	tail call void @bar() nounwind
68	ret void
69
70if.end:		; preds = %entry
71	ret void
72}
73
74define void @foo5(i64 %a) nounwind {
75entry:
76	%cmp = icmp eq i64 %a, 1		; <i1> [#uses=1]
77	br i1 %cmp, label %if.end, label %if.then
78
79if.then:		; preds = %entry
80	tail call void @bar() nounwind
81	ret void
82
83if.end:		; preds = %entry
84	ret void
85}
86
87define void @foo6(i64 %a) nounwind {
88entry:
89	%cmp = icmp slt i64 %a, 1		; <i1> [#uses=1]
90	br i1 %cmp, label %if.then, label %if.end
91
92if.then:		; preds = %entry
93	tail call void @bar() nounwind
94	ret void
95
96if.end:		; preds = %entry
97	ret void
98}
99
100define void @foo7(i64 %a) nounwind {
101entry:
102	%cmp = icmp sgt i64 %a, 1		; <i1> [#uses=1]
103	br i1 %cmp, label %if.then, label %if.end
104
105if.then:		; preds = %entry
106	tail call void @bar() nounwind
107	ret void
108
109if.end:		; preds = %entry
110	ret void
111}
112
113define void @foo8(i64 %a) nounwind {
114entry:
115	%cmp = icmp sgt i64 %a, 1		; <i1> [#uses=1]
116	br i1 %cmp, label %if.end, label %if.then
117
118if.then:		; preds = %entry
119	tail call void @bar() nounwind
120	ret void
121
122if.end:		; preds = %entry
123	ret void
124}
125
126define void @foo9(i64 %a) nounwind {
127entry:
128	%cmp = icmp slt i64 %a, 1		; <i1> [#uses=1]
129	br i1 %cmp, label %if.end, label %if.then
130
131if.then:		; preds = %entry
132	tail call void @bar() nounwind
133	ret void
134
135if.end:		; preds = %entry
136	ret void
137}
138