xref: /llvm-project/llvm/test/CodeGen/PowerPC/subreg-postra.ll (revision 8e901c255df45e38cb1d69a576804029e20868bf)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
2; RUN: llc -verify-machineinstrs -mcpu=pwr7 < %s | FileCheck %s
3; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-isel < %s | FileCheck --check-prefix=CHECK-NO-ISEL %s
4target datalayout = "E-m:e-i64:64-n32:64"
5target triple = "powerpc64-unknown-linux-gnu"
6
7; Function Attrs: nounwind
8define void @jbd2_journal_commit_transaction(ptr %journal, i64 %inp1, i32 %inp2,
9; CHECK-LABEL: jbd2_journal_commit_transaction:
10; CHECK:       # %bb.0: # %entry
11; CHECK-NEXT:    mfcr 12
12; CHECK-NEXT:    mflr 0
13; CHECK-NEXT:    stw 12, 8(1)
14; CHECK-NEXT:    stdu 1, -176(1)
15; CHECK-NEXT:    lbz 6, 295(1)
16; CHECK-NEXT:    std 0, 192(1)
17; CHECK-NEXT:    andi. 6, 6, 1
18; CHECK-NEXT:    std 25, 120(1) # 8-byte Folded Spill
19; CHECK-NEXT:    std 26, 128(1) # 8-byte Folded Spill
20; CHECK-NEXT:    std 27, 136(1) # 8-byte Folded Spill
21; CHECK-NEXT:    std 28, 144(1) # 8-byte Folded Spill
22; CHECK-NEXT:    std 29, 152(1) # 8-byte Folded Spill
23; CHECK-NEXT:    std 30, 160(1) # 8-byte Folded Spill
24; CHECK-NEXT:    crmove 9, 1
25; CHECK-NEXT:    andi. 6, 10, 1
26; CHECK-NEXT:    crmove 8, 1
27; CHECK-NEXT:    andi. 6, 9, 1
28; CHECK-NEXT:    bc 4, 20, .LBB0_24
29; CHECK-NEXT:  # %bb.1: # %do.body
30; CHECK-NEXT:    bc 4, 20, .LBB0_25
31; CHECK-NEXT:  # %bb.2: # %trace_jbd2_start_commit.exit
32; CHECK-NEXT:    mr 30, 8
33; CHECK-NEXT:    mr 29, 7
34; CHECK-NEXT:    bc 12, 20, .LBB0_4
35; CHECK-NEXT:  # %bb.3: # %do.body.i1116
36; CHECK-NEXT:    bc 4, 20, .LBB0_26
37; CHECK-NEXT:  .LBB0_4: # %trace_jbd2_commit_locking.exit
38; CHECK-NEXT:    bc 4, 20, .LBB0_27
39; CHECK-NEXT:  # %bb.5: # %spin_unlock.exit1146
40; CHECK-NEXT:    bc 4, 20, .LBB0_28
41; CHECK-NEXT:  # %bb.6: # %trace_jbd2_commit_flushing.exit
42; CHECK-NEXT:    bc 4, 20, .LBB0_29
43; CHECK-NEXT:  # %bb.7: # %for.end.i
44; CHECK-NEXT:    bc 4, 20, .LBB0_31
45; CHECK-NEXT:  # %bb.8: # %journal_submit_data_buffers.exit
46; CHECK-NEXT:    bc 4, 20, .LBB0_32
47; CHECK-NEXT:  # %bb.9: # %if.end103
48; CHECK-NEXT:    bc 4, 20, .LBB0_33
49; CHECK-NEXT:  # %bb.10: # %trace_jbd2_commit_logging.exit
50; CHECK-NEXT:    bc 4, 20, .LBB0_34
51; CHECK-NEXT:  # %bb.11: # %for.end.i1287
52; CHECK-NEXT:    bc 4, 20, .LBB0_35
53; CHECK-NEXT:  # %bb.12: # %journal_finish_inode_data_buffers.exit
54; CHECK-NEXT:    bc 4, 20, .LBB0_36
55; CHECK-NEXT:  # %bb.13: # %if.end256
56; CHECK-NEXT:    cmpdi 1, 4, 0
57; CHECK-NEXT:    .p2align 4
58; CHECK-NEXT:  .LBB0_14: # %while.body318
59; CHECK-NEXT:    #
60; CHECK-NEXT:    bc 4, 6, .LBB0_19
61; CHECK-NEXT:  # %bb.15: # %wait_on_buffer.exit
62; CHECK-NEXT:    #
63; CHECK-NEXT:    bc 4, 1, .LBB0_14
64; CHECK-NEXT:  # %bb.16: # %do.body378
65; CHECK-NEXT:    bc 4, 8, .LBB0_20
66; CHECK-NEXT:  # %bb.17: # %while.end418
67; CHECK-NEXT:    bc 4, 8, .LBB0_23
68; CHECK-NEXT:  .LBB0_18: # %if.end421
69; CHECK-NEXT:  .LBB0_19: # %if.then.i1296
70; CHECK-NEXT:  .LBB0_20: # %while.body392.lr.ph
71; CHECK-NEXT:    lis 26, 4
72; CHECK-NEXT:    mr 27, 5
73; CHECK-NEXT:    mr 28, 3
74; CHECK-NEXT:    .p2align 4
75; CHECK-NEXT:  .LBB0_21: # %while.body392
76; CHECK-NEXT:    #
77; CHECK-NEXT:    ld 3, 0(3)
78; CHECK-NEXT:    ldu 25, -72(3)
79; CHECK-NEXT:    #APP
80; CHECK-NEXT:  .Ltmp0:
81; CHECK-NEXT:    .long 2088769704
82; CHECK-NEXT:    andc 4, 4, 26
83; CHECK-NEXT:    stdcx. 4, 0, 3
84; CHECK-NEXT:    bne- 0, .Ltmp0
85; CHECK-EMPTY:
86; CHECK-NEXT:    #NO_APP
87; CHECK-NEXT:    ld 3, 0(29)
88; CHECK-NEXT:    std 3, 0(30)
89; CHECK-NEXT:    bl __brelse
90; CHECK-NEXT:    nop
91; CHECK-NEXT:    bc 4, 9, .LBB0_21
92; CHECK-NEXT:  # %bb.22: # %while.end418.loopexit
93; CHECK-NEXT:    andi. 3, 25, 1
94; CHECK-NEXT:    li 3, -5
95; CHECK-NEXT:    mr 5, 27
96; CHECK-NEXT:    iselgt 5, 5, 3
97; CHECK-NEXT:    mr 3, 28
98; CHECK-NEXT:    bc 12, 8, .LBB0_18
99; CHECK-NEXT:  .LBB0_23: # %if.then420
100; CHECK-NEXT:    extsw 4, 5
101; CHECK-NEXT:    bl jbd2_journal_abort
102; CHECK-NEXT:    nop
103; CHECK-NEXT:  .LBB0_24: # %if.then5
104; CHECK-NEXT:  .LBB0_25: # %do.body.i
105; CHECK-NEXT:  .LBB0_26: # %do.body5.i1122
106; CHECK-NEXT:  .LBB0_27: # %if.then.i.i.i.i1144
107; CHECK-NEXT:  .LBB0_28: # %do.body.i1159
108; CHECK-NEXT:  .LBB0_29: # %for.body.lr.ph.i
109; CHECK-NEXT:    bc 4, 20, .LBB0_37
110; CHECK-NEXT:  # %bb.30: # %spin_unlock.exit.i
111; CHECK-NEXT:  .LBB0_31: # %if.then.i.i.i.i31.i
112; CHECK-NEXT:  .LBB0_32: # %if.then102
113; CHECK-NEXT:  .LBB0_33: # %do.body.i1182
114; CHECK-NEXT:  .LBB0_34: # %for.body.i1277
115; CHECK-NEXT:  .LBB0_35: # %if.then.i.i.i.i84.i
116; CHECK-NEXT:  .LBB0_36: # %if.then249
117; CHECK-NEXT:  .LBB0_37: # %if.then.i.i.i.i.i
118;
119; CHECK-NO-ISEL-LABEL: jbd2_journal_commit_transaction:
120; CHECK-NO-ISEL:       # %bb.0: # %entry
121; CHECK-NO-ISEL-NEXT:    mfcr 12
122; CHECK-NO-ISEL-NEXT:    mflr 0
123; CHECK-NO-ISEL-NEXT:    stw 12, 8(1)
124; CHECK-NO-ISEL-NEXT:    stdu 1, -176(1)
125; CHECK-NO-ISEL-NEXT:    lbz 6, 295(1)
126; CHECK-NO-ISEL-NEXT:    std 0, 192(1)
127; CHECK-NO-ISEL-NEXT:    andi. 6, 6, 1
128; CHECK-NO-ISEL-NEXT:    std 25, 120(1) # 8-byte Folded Spill
129; CHECK-NO-ISEL-NEXT:    std 26, 128(1) # 8-byte Folded Spill
130; CHECK-NO-ISEL-NEXT:    std 27, 136(1) # 8-byte Folded Spill
131; CHECK-NO-ISEL-NEXT:    std 28, 144(1) # 8-byte Folded Spill
132; CHECK-NO-ISEL-NEXT:    std 29, 152(1) # 8-byte Folded Spill
133; CHECK-NO-ISEL-NEXT:    std 30, 160(1) # 8-byte Folded Spill
134; CHECK-NO-ISEL-NEXT:    crmove 9, 1
135; CHECK-NO-ISEL-NEXT:    andi. 6, 10, 1
136; CHECK-NO-ISEL-NEXT:    crmove 8, 1
137; CHECK-NO-ISEL-NEXT:    andi. 6, 9, 1
138; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_26
139; CHECK-NO-ISEL-NEXT:  # %bb.1: # %do.body
140; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_27
141; CHECK-NO-ISEL-NEXT:  # %bb.2: # %trace_jbd2_start_commit.exit
142; CHECK-NO-ISEL-NEXT:    mr 30, 8
143; CHECK-NO-ISEL-NEXT:    mr 29, 7
144; CHECK-NO-ISEL-NEXT:    bc 12, 20, .LBB0_4
145; CHECK-NO-ISEL-NEXT:  # %bb.3: # %do.body.i1116
146; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_28
147; CHECK-NO-ISEL-NEXT:  .LBB0_4: # %trace_jbd2_commit_locking.exit
148; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_29
149; CHECK-NO-ISEL-NEXT:  # %bb.5: # %spin_unlock.exit1146
150; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_30
151; CHECK-NO-ISEL-NEXT:  # %bb.6: # %trace_jbd2_commit_flushing.exit
152; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_31
153; CHECK-NO-ISEL-NEXT:  # %bb.7: # %for.end.i
154; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_33
155; CHECK-NO-ISEL-NEXT:  # %bb.8: # %journal_submit_data_buffers.exit
156; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_34
157; CHECK-NO-ISEL-NEXT:  # %bb.9: # %if.end103
158; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_35
159; CHECK-NO-ISEL-NEXT:  # %bb.10: # %trace_jbd2_commit_logging.exit
160; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_36
161; CHECK-NO-ISEL-NEXT:  # %bb.11: # %for.end.i1287
162; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_37
163; CHECK-NO-ISEL-NEXT:  # %bb.12: # %journal_finish_inode_data_buffers.exit
164; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_38
165; CHECK-NO-ISEL-NEXT:  # %bb.13: # %if.end256
166; CHECK-NO-ISEL-NEXT:    cmpdi 1, 4, 0
167; CHECK-NO-ISEL-NEXT:    .p2align 4
168; CHECK-NO-ISEL-NEXT:  .LBB0_14: # %while.body318
169; CHECK-NO-ISEL-NEXT:    #
170; CHECK-NO-ISEL-NEXT:    bc 4, 6, .LBB0_19
171; CHECK-NO-ISEL-NEXT:  # %bb.15: # %wait_on_buffer.exit
172; CHECK-NO-ISEL-NEXT:    #
173; CHECK-NO-ISEL-NEXT:    bc 4, 1, .LBB0_14
174; CHECK-NO-ISEL-NEXT:  # %bb.16: # %do.body378
175; CHECK-NO-ISEL-NEXT:    bc 4, 8, .LBB0_20
176; CHECK-NO-ISEL-NEXT:  # %bb.17: # %while.end418
177; CHECK-NO-ISEL-NEXT:    bc 4, 8, .LBB0_25
178; CHECK-NO-ISEL-NEXT:  .LBB0_18: # %if.end421
179; CHECK-NO-ISEL-NEXT:  .LBB0_19: # %if.then.i1296
180; CHECK-NO-ISEL-NEXT:  .LBB0_20: # %while.body392.lr.ph
181; CHECK-NO-ISEL-NEXT:    lis 26, 4
182; CHECK-NO-ISEL-NEXT:    mr 27, 5
183; CHECK-NO-ISEL-NEXT:    mr 28, 3
184; CHECK-NO-ISEL-NEXT:    .p2align 4
185; CHECK-NO-ISEL-NEXT:  .LBB0_21: # %while.body392
186; CHECK-NO-ISEL-NEXT:    #
187; CHECK-NO-ISEL-NEXT:    ld 3, 0(3)
188; CHECK-NO-ISEL-NEXT:    ldu 25, -72(3)
189; CHECK-NO-ISEL-NEXT:    #APP
190; CHECK-NO-ISEL-NEXT:  .Ltmp0:
191; CHECK-NO-ISEL-NEXT:    .long 2088769704
192; CHECK-NO-ISEL-NEXT:    andc 4, 4, 26
193; CHECK-NO-ISEL-NEXT:    stdcx. 4, 0, 3
194; CHECK-NO-ISEL-NEXT:    bne- 0, .Ltmp0
195; CHECK-NO-ISEL-EMPTY:
196; CHECK-NO-ISEL-NEXT:    #NO_APP
197; CHECK-NO-ISEL-NEXT:    ld 3, 0(29)
198; CHECK-NO-ISEL-NEXT:    std 3, 0(30)
199; CHECK-NO-ISEL-NEXT:    bl __brelse
200; CHECK-NO-ISEL-NEXT:    nop
201; CHECK-NO-ISEL-NEXT:    bc 4, 9, .LBB0_21
202; CHECK-NO-ISEL-NEXT:  # %bb.22: # %while.end418.loopexit
203; CHECK-NO-ISEL-NEXT:    andi. 3, 25, 1
204; CHECK-NO-ISEL-NEXT:    mr 5, 27
205; CHECK-NO-ISEL-NEXT:    bc 12, 1, .LBB0_24
206; CHECK-NO-ISEL-NEXT:  # %bb.23: # %while.end418.loopexit
207; CHECK-NO-ISEL-NEXT:    li 5, -5
208; CHECK-NO-ISEL-NEXT:  .LBB0_24: # %while.end418.loopexit
209; CHECK-NO-ISEL-NEXT:    mr 3, 28
210; CHECK-NO-ISEL-NEXT:    bc 12, 8, .LBB0_18
211; CHECK-NO-ISEL-NEXT:  .LBB0_25: # %if.then420
212; CHECK-NO-ISEL-NEXT:    extsw 4, 5
213; CHECK-NO-ISEL-NEXT:    bl jbd2_journal_abort
214; CHECK-NO-ISEL-NEXT:    nop
215; CHECK-NO-ISEL-NEXT:  .LBB0_26: # %if.then5
216; CHECK-NO-ISEL-NEXT:  .LBB0_27: # %do.body.i
217; CHECK-NO-ISEL-NEXT:  .LBB0_28: # %do.body5.i1122
218; CHECK-NO-ISEL-NEXT:  .LBB0_29: # %if.then.i.i.i.i1144
219; CHECK-NO-ISEL-NEXT:  .LBB0_30: # %do.body.i1159
220; CHECK-NO-ISEL-NEXT:  .LBB0_31: # %for.body.lr.ph.i
221; CHECK-NO-ISEL-NEXT:    bc 4, 20, .LBB0_39
222; CHECK-NO-ISEL-NEXT:  # %bb.32: # %spin_unlock.exit.i
223; CHECK-NO-ISEL-NEXT:  .LBB0_33: # %if.then.i.i.i.i31.i
224; CHECK-NO-ISEL-NEXT:  .LBB0_34: # %if.then102
225; CHECK-NO-ISEL-NEXT:  .LBB0_35: # %do.body.i1182
226; CHECK-NO-ISEL-NEXT:  .LBB0_36: # %for.body.i1277
227; CHECK-NO-ISEL-NEXT:  .LBB0_37: # %if.then.i.i.i.i84.i
228; CHECK-NO-ISEL-NEXT:  .LBB0_38: # %if.then249
229; CHECK-NO-ISEL-NEXT:  .LBB0_39: # %if.then.i.i.i.i.i
230                                             ptr %inp3, ptr %inp4,
231                                             ptr %inp5, i1 %inp6,
232                                             i1 %inp7, i1 %inp8) #0 {
233entry:
234  br i1 undef, label %do.body, label %if.then5
235
236if.then5:                                         ; preds = %entry
237  unreachable
238
239do.body:                                          ; preds = %entry
240  br i1 undef, label %do.body.i, label %trace_jbd2_start_commit.exit
241
242do.body.i:                                        ; preds = %do.body
243  unreachable
244
245trace_jbd2_start_commit.exit:                     ; preds = %do.body
246  br i1 undef, label %do.body.i1116, label %trace_jbd2_commit_locking.exit
247
248do.body.i1116:                                    ; preds = %trace_jbd2_start_commit.exit
249  br i1 undef, label %if.end.i1123, label %do.body5.i1122
250
251do.body5.i1122:                                   ; preds = %do.body.i1116
252  unreachable
253
254if.end.i1123:                                     ; preds = %do.body.i1116
255  br label %trace_jbd2_commit_locking.exit
256
257trace_jbd2_commit_locking.exit:                   ; preds = %if.end.i1123, %trace_jbd2_start_commit.exit
258  br i1 undef, label %spin_unlock.exit1146, label %if.then.i.i.i.i1144
259
260if.then.i.i.i.i1144:                              ; preds = %trace_jbd2_commit_locking.exit
261  unreachable
262
263spin_unlock.exit1146:                             ; preds = %trace_jbd2_commit_locking.exit
264  br i1 undef, label %spin_unlock.exit1154, label %if.then.i.i.i.i1152
265
266if.then.i.i.i.i1152:                              ; preds = %spin_unlock.exit1146
267  br label %spin_unlock.exit1154
268
269spin_unlock.exit1154:                             ; preds = %if.then.i.i.i.i1152, %spin_unlock.exit1146
270  br i1 undef, label %do.body.i1159, label %trace_jbd2_commit_flushing.exit
271
272do.body.i1159:                                    ; preds = %spin_unlock.exit1154
273  unreachable
274
275trace_jbd2_commit_flushing.exit:                  ; preds = %spin_unlock.exit1154
276  br i1 undef, label %for.end.i, label %for.body.lr.ph.i
277
278for.body.lr.ph.i:                                 ; preds = %trace_jbd2_commit_flushing.exit
279  br i1 undef, label %spin_unlock.exit.i, label %if.then.i.i.i.i.i
280
281if.then.i.i.i.i.i:                                ; preds = %for.body.lr.ph.i
282  unreachable
283
284spin_unlock.exit.i:                               ; preds = %for.body.lr.ph.i
285  unreachable
286
287for.end.i:                                        ; preds = %trace_jbd2_commit_flushing.exit
288  br i1 undef, label %journal_submit_data_buffers.exit, label %if.then.i.i.i.i31.i
289
290if.then.i.i.i.i31.i:                              ; preds = %for.end.i
291  unreachable
292
293journal_submit_data_buffers.exit:                 ; preds = %for.end.i
294  br i1 undef, label %if.end103, label %if.then102
295
296if.then102:                                       ; preds = %journal_submit_data_buffers.exit
297  unreachable
298
299if.end103:                                        ; preds = %journal_submit_data_buffers.exit
300  br i1 undef, label %do.body.i1182, label %trace_jbd2_commit_logging.exit
301
302do.body.i1182:                                    ; preds = %if.end103
303  unreachable
304
305trace_jbd2_commit_logging.exit:                   ; preds = %if.end103
306  br i1 undef, label %for.end.i1287, label %for.body.i1277
307
308for.body.i1277:                                   ; preds = %trace_jbd2_commit_logging.exit
309  unreachable
310
311for.end.i1287:                                    ; preds = %trace_jbd2_commit_logging.exit
312  br i1 undef, label %journal_finish_inode_data_buffers.exit, label %if.then.i.i.i.i84.i
313
314if.then.i.i.i.i84.i:                              ; preds = %for.end.i1287
315  unreachable
316
317journal_finish_inode_data_buffers.exit:           ; preds = %for.end.i1287
318  br i1 undef, label %if.end256, label %if.then249
319
320if.then249:                                       ; preds = %journal_finish_inode_data_buffers.exit
321  unreachable
322
323if.end256:                                        ; preds = %journal_finish_inode_data_buffers.exit
324  br i1 undef, label %do.body277, label %if.then260
325
326if.then260:                                       ; preds = %if.end256
327  br label %do.body277
328
329do.body277:                                       ; preds = %if.then260, %if.end256
330  br label %while.body318
331
332while.body318:                                    ; preds = %wait_on_buffer.exit, %do.body277
333  %tobool.i1295 = icmp eq i64 %inp1, 0
334  br i1 %tobool.i1295, label %wait_on_buffer.exit, label %if.then.i1296
335
336if.then.i1296:                                    ; preds = %while.body318
337  unreachable
338
339wait_on_buffer.exit:                              ; preds = %while.body318
340  br i1 %inp6, label %do.body378, label %while.body318
341
342do.body378:                                       ; preds = %wait_on_buffer.exit
343  br i1 %inp7, label %while.end418, label %while.body392.lr.ph
344
345while.body392.lr.ph:                              ; preds = %do.body378
346  br label %while.body392
347
348while.body392:                                    ; preds = %wait_on_buffer.exit1319, %while.body392.lr.ph
349  %0 = load ptr, ptr undef, align 8
350  %add.ptr399 = getelementptr inbounds i8, ptr %0, i64 -72
351  %tobool.i1316 = icmp eq i64 %inp1, 0
352  br i1 %tobool.i1316, label %wait_on_buffer.exit1319, label %if.then.i1317
353
354if.then.i1317:                                    ; preds = %while.body392
355  unreachable
356
357wait_on_buffer.exit1319:                          ; preds = %while.body392
358  %1 = load volatile i64, ptr %add.ptr399, align 8
359  %conv.i.i1322 = and i64 %1, 1
360  %lnot404 = icmp eq i64 %conv.i.i1322, 0
361  %.err.4 = select i1 %lnot404, i32 -5, i32 %inp2
362  %2 = call i64 asm sideeffect "1:.long 0x7c0000a8 $| ((($0) & 0x1f) << 21) $| (((0) & 0x1f) << 16) $| ((($3) & 0x1f) << 11) $| (((0) & 0x1) << 0) \0Aandc $0,$0,$2\0Astdcx. $0,0,$3\0Abne- 1b\0A", "=&r,=*m,r,r,*m,~{cc},~{memory}"(ptr elementtype(i64) %add.ptr399, i64 262144, ptr %add.ptr399, ptr elementtype(i64) %add.ptr399) #1
363  %prev.i.i.i1325 = getelementptr inbounds i8, ptr %0, i64 8
364  %3 = load ptr, ptr %inp4, align 8
365  store ptr %3, ptr %inp5, align 8
366  call void @__brelse(ptr %3) #1
367  br i1 %inp8, label %while.end418, label %while.body392
368
369
370
371while.end418:                                     ; preds = %wait_on_buffer.exit1319, %do.body378
372  %err.4.lcssa = phi i32 [ %inp2, %do.body378 ], [ %.err.4, %wait_on_buffer.exit1319 ]
373  br i1 %inp7, label %if.end421, label %if.then420
374
375if.then420:                                       ; preds = %while.end418
376  call void @jbd2_journal_abort(ptr %journal, i32 signext %err.4.lcssa) #1
377  br label %if.end421
378
379if.end421:                                        ; preds = %if.then420, %while.end418
380  unreachable
381}
382
383declare void @jbd2_journal_abort(ptr, i32 signext)
384
385declare void @__brelse(ptr)
386
387attributes #0 = { nounwind }
388attributes #1 = { nounwind }
389
390