blob: 6329ae670e48ad6ee3fc4741c67b02ed90b0e3ca [file] [log] [blame]
Eric Christopher2b24e7f2011-03-08 19:49:15 +00001; RUN: llc < %s
Eric Christopher2b24e7f2011-03-08 19:49:15 +00002target 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-f80:128:128-n8:16:32"
3target triple = "i386-apple-darwin9.0.0"
4
Benjamin Kramere5ef3112011-03-08 20:19:10 +00005%0 = type { i32, i1 }
Eric Christopher2b24e7f2011-03-08 19:49:15 +00006
Benjamin Kramere5ef3112011-03-08 20:19:10 +00007declare %0 @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone
Eric Christopher2b24e7f2011-03-08 19:49:15 +00008
Benjamin Kramere5ef3112011-03-08 20:19:10 +00009define linkonce_odr hidden void @_ZN2js5QueueINS_7SlotMap8SlotInfoEE6ensureEj(i8* nocapture %this, i32 %size) nounwind align 2 {
Eric Christopher2b24e7f2011-03-08 19:49:15 +000010 br i1 undef, label %14, label %1
11
12; <label>:1 ; preds = %0
13 br i1 undef, label %2, label %3
14
15; <label>:2 ; preds = %1
16 br label %3
17
18; <label>:3 ; preds = %2, %1
19 br i1 undef, label %13, label %4
20
21; <label>:4 ; preds = %3
Benjamin Kramere5ef3112011-03-08 20:19:10 +000022 %5 = tail call %0 @llvm.umul.with.overflow.i32(i32 undef, i32 16)
23 %6 = extractvalue %0 %5, 1
24 %7 = extractvalue %0 %5, 0
Eric Christopher2b24e7f2011-03-08 19:49:15 +000025 %.op = add i32 %7, 7
26 %.op.op = and i32 %.op, -8
27 %8 = select i1 %6, i32 0, i32 %.op.op
28 br i1 undef, label %10, label %9
29
30; <label>:9 ; preds = %4
31 br label %_ZnamRN7nanojit9AllocatorE.exit
32
33; <label>:10 ; preds = %4
Benjamin Kramere5ef3112011-03-08 20:19:10 +000034 %11 = tail call i8* @_ZN7nanojit9Allocator9allocSlowEmb(i8* undef, i32 %8, i1 zeroext false) nounwind
Eric Christopher2b24e7f2011-03-08 19:49:15 +000035 br label %_ZnamRN7nanojit9AllocatorE.exit
36
37_ZnamRN7nanojit9AllocatorE.exit: ; preds = %10, %9
38 br i1 false, label %._crit_edge, label %.lr.ph
39
40.lr.ph: ; preds = %_ZnamRN7nanojit9AllocatorE.exit
41 br label %12
42
43; <label>:12 ; preds = %12, %.lr.ph
44 br i1 undef, label %._crit_edge, label %12
45
46._crit_edge: ; preds = %12, %_ZnamRN7nanojit9AllocatorE.exit
47 br label %14
48
49; <label>:13 ; preds = %3
50 br label %14
51
52; <label>:14 ; preds = %13, %._crit_edge, %0
53 ret void
54}
55
Benjamin Kramere5ef3112011-03-08 20:19:10 +000056declare i8* @_ZN7nanojit9Allocator9allocSlowEmb(i8*, i32, i1 zeroext)