xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/2011-03-08-Sched-crash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s
2*9880d681SAndroid Build Coastguard Workertarget 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"
3*9880d681SAndroid Build Coastguard Workertarget triple = "i386-apple-darwin9.0.0"
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker%0 = type { i32, i1 }
6*9880d681SAndroid Build Coastguard Worker
7*9880d681SAndroid Build Coastguard Workerdeclare %0 @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine linkonce_odr hidden void @_ZN2js5QueueINS_7SlotMap8SlotInfoEE6ensureEj(i8* nocapture %this, i32 %size) nounwind align 2 {
10*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %14, label %1
11*9880d681SAndroid Build Coastguard Worker
12*9880d681SAndroid Build Coastguard Worker; <label>:1                                       ; preds = %0
13*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %2, label %3
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker; <label>:2                                       ; preds = %1
16*9880d681SAndroid Build Coastguard Worker  br label %3
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker; <label>:3                                       ; preds = %2, %1
19*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %13, label %4
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard Worker; <label>:4                                       ; preds = %3
22*9880d681SAndroid Build Coastguard Worker  %5 = tail call %0 @llvm.umul.with.overflow.i32(i32 undef, i32 16)
23*9880d681SAndroid Build Coastguard Worker  %6 = extractvalue %0 %5, 1
24*9880d681SAndroid Build Coastguard Worker  %7 = extractvalue %0 %5, 0
25*9880d681SAndroid Build Coastguard Worker  %.op = add i32 %7, 7
26*9880d681SAndroid Build Coastguard Worker  %.op.op = and i32 %.op, -8
27*9880d681SAndroid Build Coastguard Worker  %8 = select i1 %6, i32 0, i32 %.op.op
28*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %10, label %9
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker; <label>:9                                       ; preds = %4
31*9880d681SAndroid Build Coastguard Worker  br label %_ZnamRN7nanojit9AllocatorE.exit
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker; <label>:10                                      ; preds = %4
34*9880d681SAndroid Build Coastguard Worker  %11 = tail call i8* @_ZN7nanojit9Allocator9allocSlowEmb(i8* undef, i32 %8, i1 zeroext false) nounwind
35*9880d681SAndroid Build Coastguard Worker  br label %_ZnamRN7nanojit9AllocatorE.exit
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Worker_ZnamRN7nanojit9AllocatorE.exit:                  ; preds = %10, %9
38*9880d681SAndroid Build Coastguard Worker  br i1 false, label %._crit_edge, label %.lr.ph
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Worker.lr.ph:                                           ; preds = %_ZnamRN7nanojit9AllocatorE.exit
41*9880d681SAndroid Build Coastguard Worker  br label %12
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker; <label>:12                                      ; preds = %12, %.lr.ph
44*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %._crit_edge, label %12
45*9880d681SAndroid Build Coastguard Worker
46*9880d681SAndroid Build Coastguard Worker._crit_edge:                                      ; preds = %12, %_ZnamRN7nanojit9AllocatorE.exit
47*9880d681SAndroid Build Coastguard Worker  br label %14
48*9880d681SAndroid Build Coastguard Worker
49*9880d681SAndroid Build Coastguard Worker; <label>:13                                      ; preds = %3
50*9880d681SAndroid Build Coastguard Worker  br label %14
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Worker; <label>:14                                      ; preds = %13, %._crit_edge, %0
53*9880d681SAndroid Build Coastguard Worker  ret void
54*9880d681SAndroid Build Coastguard Worker}
55*9880d681SAndroid Build Coastguard Worker
56*9880d681SAndroid Build Coastguard Workerdeclare i8* @_ZN7nanojit9Allocator9allocSlowEmb(i8*, i32, i1 zeroext)
57