f43f5cae6e22fe344c41e2b4b4b4bd8beae62a21
[oota-llvm.git] / test / CodeGen / PowerPC / 2010-02-26-FoldFloats.ll
1 ; RUN: llc < %s -O3 | FileCheck %s
2 target datalayout = "E-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f128:64:128-n32"
3 target triple = "powerpc-apple-darwin9.6"
4
5 ; There should be no stfs spills
6 ; CHECK: main:
7 ; CHECK-NOT: stfs
8 ; CHECK: .section
9
10 @.str66 = external constant [3 x i8], align 4     ; <[3 x i8]*> [#uses=1]
11 @.str31 = external constant [6 x i8], align 4     ; <[6 x i8]*> [#uses=1]
12 @.str61 = external constant [21 x i8], align 4    ; <[21 x i8]*> [#uses=1]
13 @.str101 = external constant [61 x i8], align 4   ; <[61 x i8]*> [#uses=1]
14 @.str104 = external constant [31 x i8], align 4   ; <[31 x i8]*> [#uses=1]
15 @.str105 = external constant [45 x i8], align 4   ; <[45 x i8]*> [#uses=1]
16 @.str112 = external constant [38 x i8], align 4   ; <[38 x i8]*> [#uses=1]
17 @.str121 = external constant [36 x i8], align 4   ; <[36 x i8]*> [#uses=1]
18 @.str12293 = external constant [67 x i8], align 4 ; <[67 x i8]*> [#uses=1]
19 @.str123 = external constant [68 x i8], align 4   ; <[68 x i8]*> [#uses=1]
20 @.str124 = external constant [52 x i8], align 4   ; <[52 x i8]*> [#uses=1]
21 @.str125 = external constant [51 x i8], align 4   ; <[51 x i8]*> [#uses=1]
22
23 define i32 @main(i32 %argc, i8** %argv) noreturn nounwind {
24 entry:
25   br i1 undef, label %bb4.i1, label %my_fopen.exit
26
27 bb4.i1:                                           ; preds = %entry
28   unreachable
29
30 my_fopen.exit:                                    ; preds = %entry
31   br i1 undef, label %bb.i, label %bb1.i
32
33 bb.i:                                             ; preds = %my_fopen.exit
34   unreachable
35
36 bb1.i:                                            ; preds = %my_fopen.exit
37   br label %bb134.i
38
39 bb2.i:                                            ; preds = %bb134.i
40   %0 = icmp eq i32 undef, 0                       ; <i1> [#uses=1]
41   br i1 %0, label %bb20.i, label %bb21.i
42
43 bb20.i:                                           ; preds = %bb2.i
44   br label %bb134.i
45
46 bb21.i:                                           ; preds = %bb2.i
47   %1 = call i32 @strcmp(i8* undef, i8* getelementptr inbounds ([6 x i8]* @.str31, i32 0, i32 0)) nounwind readonly ; <i32> [#uses=0]
48   br i1 undef, label %bb30.i, label %bb31.i
49
50 bb30.i:                                           ; preds = %bb21.i
51   br label %bb134.i
52
53 bb31.i:                                           ; preds = %bb21.i
54   br i1 undef, label %bb41.i, label %bb44.i
55
56 bb41.i:                                           ; preds = %bb31.i
57   %2 = icmp slt i32 undef, %argc                  ; <i1> [#uses=1]
58   br i1 %2, label %bb1.i77.i, label %bb2.i78.i
59
60 bb1.i77.i:                                        ; preds = %bb41.i
61   %3 = load float* undef, align 4                 ; <float> [#uses=2]
62   %4 = fcmp ugt float %3, 0.000000e+00            ; <i1> [#uses=1]
63   br i1 %4, label %bb43.i, label %bb42.i
64
65 bb2.i78.i:                                        ; preds = %bb41.i
66   unreachable
67
68 bb42.i:                                           ; preds = %bb1.i77.i
69   unreachable
70
71 bb43.i:                                           ; preds = %bb1.i77.i
72   br label %bb134.i
73
74 bb44.i:                                           ; preds = %bb31.i
75   br i1 undef, label %bb45.i, label %bb49.i
76
77 bb45.i:                                           ; preds = %bb44.i
78   %5 = icmp slt i32 undef, %argc                  ; <i1> [#uses=1]
79   br i1 %5, label %bb1.i72.i, label %bb2.i73.i
80
81 bb1.i72.i:                                        ; preds = %bb45.i
82   %6 = load float* undef, align 4                 ; <float> [#uses=3]
83   %7 = fcmp ult float %6, 1.000000e+00            ; <i1> [#uses=1]
84   %or.cond.i = and i1 undef, %7                   ; <i1> [#uses=1]
85   br i1 %or.cond.i, label %bb48.i, label %bb47.i
86
87 bb2.i73.i:                                        ; preds = %bb45.i
88   unreachable
89
90 bb47.i:                                           ; preds = %bb1.i72.i
91   unreachable
92
93 bb48.i:                                           ; preds = %bb1.i72.i
94   br label %bb134.i
95
96 bb49.i:                                           ; preds = %bb44.i
97   br i1 undef, label %bb50.i, label %bb53.i
98
99 bb50.i:                                           ; preds = %bb49.i
100   br i1 false, label %bb1.i67.i, label %bb2.i68.i
101
102 bb1.i67.i:                                        ; preds = %bb50.i
103   br i1 false, label %read_float_option.exit69.i, label %bb1.i67.bb2.i68_crit_edge.i
104
105 bb1.i67.bb2.i68_crit_edge.i:                      ; preds = %bb1.i67.i
106   br label %bb2.i68.i
107
108 bb2.i68.i:                                        ; preds = %bb1.i67.bb2.i68_crit_edge.i, %bb50.i
109   unreachable
110
111 read_float_option.exit69.i:                       ; preds = %bb1.i67.i
112   br i1 undef, label %bb52.i, label %bb51.i
113
114 bb51.i:                                           ; preds = %read_float_option.exit69.i
115   unreachable
116
117 bb52.i:                                           ; preds = %read_float_option.exit69.i
118   br label %bb134.i
119
120 bb53.i:                                           ; preds = %bb49.i
121   %8 = call i32 @strcmp(i8* undef, i8* getelementptr inbounds ([21 x i8]* @.str61, i32 0, i32 0)) nounwind readonly ; <i32> [#uses=0]
122   br i1 false, label %bb89.i, label %bb92.i
123
124 bb89.i:                                           ; preds = %bb53.i
125   br i1 undef, label %bb1.i27.i, label %bb2.i28.i
126
127 bb1.i27.i:                                        ; preds = %bb89.i
128   unreachable
129
130 bb2.i28.i:                                        ; preds = %bb89.i
131   unreachable
132
133 bb92.i:                                           ; preds = %bb53.i
134   br i1 undef, label %bb93.i, label %bb96.i
135
136 bb93.i:                                           ; preds = %bb92.i
137   br i1 undef, label %bb1.i22.i, label %bb2.i23.i
138
139 bb1.i22.i:                                        ; preds = %bb93.i
140   br i1 undef, label %bb95.i, label %bb94.i
141
142 bb2.i23.i:                                        ; preds = %bb93.i
143   unreachable
144
145 bb94.i:                                           ; preds = %bb1.i22.i
146   unreachable
147
148 bb95.i:                                           ; preds = %bb1.i22.i
149   br label %bb134.i
150
151 bb96.i:                                           ; preds = %bb92.i
152   br i1 undef, label %bb97.i, label %bb100.i
153
154 bb97.i:                                           ; preds = %bb96.i
155   %9 = icmp slt i32 undef, %argc                  ; <i1> [#uses=1]
156   br i1 %9, label %bb1.i17.i, label %bb2.i18.i
157
158 bb1.i17.i:                                        ; preds = %bb97.i
159   %10 = call i32 (i8*, i8*, ...)* @"\01_sscanf$LDBL128"(i8* undef, i8* getelementptr inbounds ([3 x i8]* @.str66, i32 0, i32 0), float* undef) nounwind ; <i32> [#uses=1]
160   %phitmp.i16.i = icmp eq i32 %10, 1              ; <i1> [#uses=1]
161   br i1 %phitmp.i16.i, label %read_float_option.exit19.i, label %bb1.i17.bb2.i18_crit_edge.i
162
163 bb1.i17.bb2.i18_crit_edge.i:                      ; preds = %bb1.i17.i
164   br label %bb2.i18.i
165
166 bb2.i18.i:                                        ; preds = %bb1.i17.bb2.i18_crit_edge.i, %bb97.i
167   unreachable
168
169 read_float_option.exit19.i:                       ; preds = %bb1.i17.i
170   br i1 false, label %bb99.i, label %bb98.i
171
172 bb98.i:                                           ; preds = %read_float_option.exit19.i
173   unreachable
174
175 bb99.i:                                           ; preds = %read_float_option.exit19.i
176   br label %bb134.i
177
178 bb100.i:                                          ; preds = %bb96.i
179   br i1 false, label %bb101.i, label %bb104.i
180
181 bb101.i:                                          ; preds = %bb100.i
182   br i1 false, label %bb1.i12.i, label %bb2.i13.i
183
184 bb1.i12.i:                                        ; preds = %bb101.i
185   br i1 undef, label %bb102.i, label %bb103.i
186
187 bb2.i13.i:                                        ; preds = %bb101.i
188   unreachable
189
190 bb102.i:                                          ; preds = %bb1.i12.i
191   unreachable
192
193 bb103.i:                                          ; preds = %bb1.i12.i
194   br label %bb134.i
195
196 bb104.i:                                          ; preds = %bb100.i
197   unreachable
198
199 bb134.i:                                          ; preds = %bb103.i, %bb99.i, %bb95.i, %bb52.i, %bb48.i, %bb43.i, %bb30.i, %bb20.i, %bb1.i
200   %annealing_sched.1.0 = phi float [ 1.000000e+01, %bb1.i ], [ %annealing_sched.1.0, %bb20.i ], [ 1.000000e+00, %bb30.i ], [ %annealing_sched.1.0, %bb43.i ], [ %annealing_sched.1.0, %bb48.i ], [ %annealing_sched.1.0, %bb52.i ], [ %annealing_sched.1.0, %bb95.i ], [ %annealing_sched.1.0, %bb99.i ], [ %annealing_sched.1.0, %bb103.i ] ; <float> [#uses=8]
201   %annealing_sched.2.0 = phi float [ 1.000000e+02, %bb1.i ], [ %annealing_sched.2.0, %bb20.i ], [ %annealing_sched.2.0, %bb30.i ], [ %3, %bb43.i ], [ %annealing_sched.2.0, %bb48.i ], [ %annealing_sched.2.0, %bb52.i ], [ %annealing_sched.2.0, %bb95.i ], [ %annealing_sched.2.0, %bb99.i ], [ %annealing_sched.2.0, %bb103.i ] ; <float> [#uses=8]
202   %annealing_sched.3.0 = phi float [ 0x3FE99999A0000000, %bb1.i ], [ %annealing_sched.3.0, %bb20.i ], [ %annealing_sched.3.0, %bb30.i ], [ %annealing_sched.3.0, %bb43.i ], [ %6, %bb48.i ], [ %annealing_sched.3.0, %bb52.i ], [ %annealing_sched.3.0, %bb95.i ], [ %annealing_sched.3.0, %bb99.i ], [ %annealing_sched.3.0, %bb103.i ] ; <float> [#uses=8]
203   %annealing_sched.4.0 = phi float [ 0x3F847AE140000000, %bb1.i ], [ %annealing_sched.4.0, %bb20.i ], [ %annealing_sched.4.0, %bb30.i ], [ %annealing_sched.4.0, %bb43.i ], [ %annealing_sched.4.0, %bb48.i ], [ 0.000000e+00, %bb52.i ], [ %annealing_sched.4.0, %bb95.i ], [ %annealing_sched.4.0, %bb99.i ], [ %annealing_sched.4.0, %bb103.i ] ; <float> [#uses=8]
204   %router_opts.0.0 = phi float [ 0.000000e+00, %bb1.i ], [ %router_opts.0.0, %bb20.i ], [ 1.000000e+04, %bb30.i ], [ %router_opts.0.0, %bb43.i ], [ %router_opts.0.0, %bb48.i ], [ %router_opts.0.0, %bb52.i ], [ %router_opts.0.0, %bb95.i ], [ %router_opts.0.0, %bb99.i ], [ %router_opts.0.0, %bb103.i ] ; <float> [#uses=8]
205   %router_opts.1.0 = phi float [ 5.000000e-01, %bb1.i ], [ %router_opts.1.0, %bb20.i ], [ 1.000000e+04, %bb30.i ], [ %router_opts.1.0, %bb43.i ], [ %router_opts.1.0, %bb48.i ], [ %router_opts.1.0, %bb52.i ], [ undef, %bb95.i ], [ %router_opts.1.0, %bb99.i ], [ %router_opts.1.0, %bb103.i ] ; <float> [#uses=7]
206   %router_opts.2.0 = phi float [ 1.500000e+00, %bb1.i ], [ %router_opts.2.0, %bb20.i ], [ %router_opts.2.0, %bb30.i ], [ %router_opts.2.0, %bb43.i ], [ %router_opts.2.0, %bb48.i ], [ %router_opts.2.0, %bb52.i ], [ %router_opts.2.0, %bb95.i ], [ undef, %bb99.i ], [ %router_opts.2.0, %bb103.i ] ; <float> [#uses=8]
207   %router_opts.3.0 = phi float [ 0x3FC99999A0000000, %bb1.i ], [ %router_opts.3.0, %bb20.i ], [ %router_opts.3.0, %bb30.i ], [ %router_opts.3.0, %bb43.i ], [ %router_opts.3.0, %bb48.i ], [ %router_opts.3.0, %bb52.i ], [ %router_opts.3.0, %bb95.i ], [ %router_opts.3.0, %bb99.i ], [ 0.000000e+00, %bb103.i ] ; <float> [#uses=8]
208   %11 = phi float [ 0x3FC99999A0000000, %bb1.i ], [ %11, %bb20.i ], [ %11, %bb30.i ], [ %11, %bb43.i ], [ %11, %bb48.i ], [ %11, %bb52.i ], [ %11, %bb95.i ], [ %11, %bb99.i ], [ 0.000000e+00, %bb103.i ] ; <float> [#uses=8]
209   %12 = phi float [ 1.500000e+00, %bb1.i ], [ %12, %bb20.i ], [ %12, %bb30.i ], [ %12, %bb43.i ], [ %12, %bb48.i ], [ %12, %bb52.i ], [ %12, %bb95.i ], [ undef, %bb99.i ], [ %12, %bb103.i ] ; <float> [#uses=8]
210   %13 = phi float [ 5.000000e-01, %bb1.i ], [ %13, %bb20.i ], [ 1.000000e+04, %bb30.i ], [ %13, %bb43.i ], [ %13, %bb48.i ], [ %13, %bb52.i ], [ undef, %bb95.i ], [ %13, %bb99.i ], [ %13, %bb103.i ] ; <float> [#uses=7]
211   %14 = phi float [ 0.000000e+00, %bb1.i ], [ %14, %bb20.i ], [ 1.000000e+04, %bb30.i ], [ %14, %bb43.i ], [ %14, %bb48.i ], [ %14, %bb52.i ], [ %14, %bb95.i ], [ %14, %bb99.i ], [ %14, %bb103.i ] ; <float> [#uses=8]
212   %15 = phi float [ 0x3FE99999A0000000, %bb1.i ], [ %15, %bb20.i ], [ %15, %bb30.i ], [ %15, %bb43.i ], [ %6, %bb48.i ], [ %15, %bb52.i ], [ %15, %bb95.i ], [ %15, %bb99.i ], [ %15, %bb103.i ] ; <float> [#uses=8]
213   %16 = phi float [ 0x3F847AE140000000, %bb1.i ], [ %16, %bb20.i ], [ %16, %bb30.i ], [ %16, %bb43.i ], [ %16, %bb48.i ], [ 0.000000e+00, %bb52.i ], [ %16, %bb95.i ], [ %16, %bb99.i ], [ %16, %bb103.i ] ; <float> [#uses=8]
214   %17 = phi float [ 1.000000e+01, %bb1.i ], [ %17, %bb20.i ], [ 1.000000e+00, %bb30.i ], [ %17, %bb43.i ], [ %17, %bb48.i ], [ %17, %bb52.i ], [ %17, %bb95.i ], [ %17, %bb99.i ], [ %17, %bb103.i ] ; <float> [#uses=8]
215   %18 = icmp slt i32 undef, %argc                 ; <i1> [#uses=1]
216   br i1 %18, label %bb2.i, label %bb135.i
217
218 bb135.i:                                          ; preds = %bb134.i
219   br i1 undef, label %bb141.i, label %bb142.i
220
221 bb141.i:                                          ; preds = %bb135.i
222   unreachable
223
224 bb142.i:                                          ; preds = %bb135.i
225   br i1 undef, label %bb145.i, label %bb144.i
226
227 bb144.i:                                          ; preds = %bb142.i
228   unreachable
229
230 bb145.i:                                          ; preds = %bb142.i
231   br i1 undef, label %bb146.i, label %bb147.i
232
233 bb146.i:                                          ; preds = %bb145.i
234   unreachable
235
236 bb147.i:                                          ; preds = %bb145.i
237   br i1 undef, label %bb148.i, label %bb155.i
238
239 bb148.i:                                          ; preds = %bb147.i
240   br label %bb155.i
241
242 bb155.i:                                          ; preds = %bb148.i, %bb147.i
243   br i1 undef, label %bb156.i, label %bb161.i
244
245 bb156.i:                                          ; preds = %bb155.i
246   unreachable
247
248 bb161.i:                                          ; preds = %bb155.i
249   br i1 undef, label %bb162.i, label %bb163.i
250
251 bb162.i:                                          ; preds = %bb161.i
252   %19 = fpext float %17 to double                 ; <double> [#uses=1]
253   %20 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([61 x i8]* @.str101, i32 0, i32 0), double %19) nounwind ; <i32> [#uses=0]
254   unreachable
255
256 bb163.i:                                          ; preds = %bb161.i
257   %21 = fpext float %16 to double                 ; <double> [#uses=1]
258   %22 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([31 x i8]* @.str104, i32 0, i32 0), double %21) nounwind ; <i32> [#uses=0]
259   %23 = fpext float %15 to double                 ; <double> [#uses=1]
260   %24 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([45 x i8]* @.str105, i32 0, i32 0), double %23) nounwind ; <i32> [#uses=0]
261   %25 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([38 x i8]* @.str112, i32 0, i32 0), double undef) nounwind ; <i32> [#uses=0]
262   br i1 undef, label %parse_command.exit, label %bb176.i
263
264 bb176.i:                                          ; preds = %bb163.i
265   br i1 undef, label %bb177.i, label %bb178.i
266
267 bb177.i:                                          ; preds = %bb176.i
268   unreachable
269
270 bb178.i:                                          ; preds = %bb176.i
271   %26 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([36 x i8]* @.str121, i32 0, i32 0), double undef) nounwind ; <i32> [#uses=0]
272   %27 = fpext float %14 to double                 ; <double> [#uses=1]
273   %28 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([67 x i8]* @.str12293, i32 0, i32 0), double %27) nounwind ; <i32> [#uses=0]
274   %29 = fpext float %13 to double                 ; <double> [#uses=1]
275   %30 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([68 x i8]* @.str123, i32 0, i32 0), double %29) nounwind ; <i32> [#uses=0]
276   %31 = fpext float %12 to double                 ; <double> [#uses=1]
277   %32 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([52 x i8]* @.str124, i32 0, i32 0), double %31) nounwind ; <i32> [#uses=0]
278   %33 = fpext float %11 to double                 ; <double> [#uses=1]
279   %34 = call i32 (i8*, ...)* @"\01_printf$LDBL128"(i8* getelementptr inbounds ([51 x i8]* @.str125, i32 0, i32 0), double %33) nounwind ; <i32> [#uses=0]
280   unreachable
281
282 parse_command.exit:                               ; preds = %bb163.i
283   br i1 undef, label %bb4.i152.i, label %my_fopen.exit.i
284
285 bb4.i152.i:                                       ; preds = %parse_command.exit
286   unreachable
287
288 my_fopen.exit.i:                                  ; preds = %parse_command.exit
289   br i1 undef, label %bb.i6.i99, label %bb49.preheader.i.i
290
291 bb.i6.i99:                                        ; preds = %my_fopen.exit.i
292   br i1 undef, label %bb3.i.i100, label %bb1.i8.i
293
294 bb1.i8.i:                                         ; preds = %bb.i6.i99
295   unreachable
296
297 bb3.i.i100:                                       ; preds = %bb.i6.i99
298   unreachable
299
300 bb49.preheader.i.i:                               ; preds = %my_fopen.exit.i
301   br i1 undef, label %bb7.i11.i, label %bb50.i.i
302
303 bb7.i11.i:                                        ; preds = %bb49.preheader.i.i
304   unreachable
305
306 bb50.i.i:                                         ; preds = %bb49.preheader.i.i
307   br i1 undef, label %bb.i.i.i20.i, label %my_calloc.exit.i.i.i
308
309 bb.i.i.i20.i:                                     ; preds = %bb50.i.i
310   unreachable
311
312 my_calloc.exit.i.i.i:                             ; preds = %bb50.i.i
313   br i1 undef, label %bb.i.i37.i.i, label %alloc_hash_table.exit.i21.i
314
315 bb.i.i37.i.i:                                     ; preds = %my_calloc.exit.i.i.i
316   unreachable
317
318 alloc_hash_table.exit.i21.i:                      ; preds = %my_calloc.exit.i.i.i
319   br i1 undef, label %bb51.i.i, label %bb3.i23.i.i
320
321 bb51.i.i:                                         ; preds = %alloc_hash_table.exit.i21.i
322   unreachable
323
324 bb3.i23.i.i:                                      ; preds = %alloc_hash_table.exit.i21.i
325   br i1 undef, label %bb.i8.i.i, label %bb.nph.i.i
326
327 bb.nph.i.i:                                       ; preds = %bb3.i23.i.i
328   unreachable
329
330 bb.i8.i.i:                                        ; preds = %bb3.i.i34.i, %bb3.i23.i.i
331   br i1 undef, label %bb3.i.i34.i, label %bb1.i.i32.i
332
333 bb1.i.i32.i:                                      ; preds = %bb.i8.i.i
334   unreachable
335
336 bb3.i.i34.i:                                      ; preds = %bb.i8.i.i
337   br i1 undef, label %free_hash_table.exit.i.i, label %bb.i8.i.i
338
339 free_hash_table.exit.i.i:                         ; preds = %bb3.i.i34.i
340   br i1 undef, label %check_netlist.exit.i, label %bb59.i.i
341
342 bb59.i.i:                                         ; preds = %free_hash_table.exit.i.i
343   unreachable
344
345 check_netlist.exit.i:                             ; preds = %free_hash_table.exit.i.i
346   br label %bb.i.i3.i
347
348 bb.i.i3.i:                                        ; preds = %bb3.i.i4.i, %check_netlist.exit.i
349   br i1 false, label %bb3.i.i4.i, label %bb1.i.i.i122
350
351 bb1.i.i.i122:                                     ; preds = %bb1.i.i.i122, %bb.i.i3.i
352   br i1 false, label %bb3.i.i4.i, label %bb1.i.i.i122
353
354 bb3.i.i4.i:                                       ; preds = %bb1.i.i.i122, %bb.i.i3.i
355   br i1 undef, label %read_net.exit, label %bb.i.i3.i
356
357 read_net.exit:                                    ; preds = %bb3.i.i4.i
358   br i1 undef, label %bb.i44, label %bb3.i47
359
360 bb.i44:                                           ; preds = %read_net.exit
361   unreachable
362
363 bb3.i47:                                          ; preds = %read_net.exit
364   br i1 false, label %bb9.i50, label %bb8.i49
365
366 bb8.i49:                                          ; preds = %bb3.i47
367   unreachable
368
369 bb9.i50:                                          ; preds = %bb3.i47
370   br i1 undef, label %bb11.i51, label %bb12.i52
371
372 bb11.i51:                                         ; preds = %bb9.i50
373   unreachable
374
375 bb12.i52:                                         ; preds = %bb9.i50
376   br i1 undef, label %bb.i.i53, label %my_malloc.exit.i54
377
378 bb.i.i53:                                         ; preds = %bb12.i52
379   unreachable
380
381 my_malloc.exit.i54:                               ; preds = %bb12.i52
382   br i1 undef, label %bb.i2.i55, label %my_malloc.exit3.i56
383
384 bb.i2.i55:                                        ; preds = %my_malloc.exit.i54
385   unreachable
386
387 my_malloc.exit3.i56:                              ; preds = %my_malloc.exit.i54
388   br i1 undef, label %bb.i.i.i57, label %my_malloc.exit.i.i
389
390 bb.i.i.i57:                                       ; preds = %my_malloc.exit3.i56
391   unreachable
392
393 my_malloc.exit.i.i:                               ; preds = %my_malloc.exit3.i56
394   br i1 undef, label %bb, label %bb10
395
396 bb:                                               ; preds = %my_malloc.exit.i.i
397   unreachable
398
399 bb10:                                             ; preds = %my_malloc.exit.i.i
400   br i1 false, label %bb12, label %bb11
401
402 bb11:                                             ; preds = %bb10
403   unreachable
404
405 bb12:                                             ; preds = %bb10
406   store float %annealing_sched.1.0, float* null, align 4
407   store float %annealing_sched.2.0, float* undef, align 8
408   store float %annealing_sched.3.0, float* undef, align 4
409   store float %annealing_sched.4.0, float* undef, align 8
410   store float %router_opts.0.0, float* undef, align 8
411   store float %router_opts.1.0, float* undef, align 4
412   store float %router_opts.2.0, float* null, align 8
413   store float %router_opts.3.0, float* undef, align 4
414   br i1 undef, label %place_and_route.exit, label %bb7.i22
415
416 bb7.i22:                                          ; preds = %bb12
417   br i1 false, label %bb8.i23, label %bb9.i26
418
419 bb8.i23:                                          ; preds = %bb7.i22
420   unreachable
421
422 bb9.i26:                                          ; preds = %bb7.i22
423   unreachable
424
425 place_and_route.exit:                             ; preds = %bb12
426   unreachable
427 }
428
429 declare i32 @"\01_printf$LDBL128"(i8*, ...) nounwind
430
431 declare i32 @strcmp(i8* nocapture, i8* nocapture) nounwind readonly
432
433 declare i32 @"\01_sscanf$LDBL128"(i8*, i8*, ...) nounwind