[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / LoopUnswitch / 2007-08-01-Dom.ll
blobfc92579933bd9edfc391ec5989169f0efeac1b66
1 ; RUN: opt < %s -licm -loop-unswitch -disable-output 
2 ; PR 1589
4         %struct.QBasicAtomic = type { i32 }
6 define void @_ZNK5QDate9addMonthsEi(%struct.QBasicAtomic* sret  %agg.result, %struct.QBasicAtomic* %this, i32 %nmonths) {
7 entry:
8         br label %cond_true90
10 bb16:           ; preds = %cond_true90
11         br i1 false, label %bb93, label %cond_true90
13 bb45:           ; preds = %cond_true90
14         br i1 false, label %bb53, label %bb58
16 bb53:           ; preds = %bb45
17         br i1 false, label %bb93, label %cond_true90
19 bb58:           ; preds = %bb45
20         store i32 0, i32* null, align 4
21         br i1 false, label %cond_true90, label %bb93
23 cond_true90:            ; preds = %bb58, %bb53, %bb16, %entry
24         %nmonths_addr.016.1 = phi i32 [ %nmonths, %entry ], [ 0, %bb16 ], [ 0, %bb53 ], [ %nmonths_addr.016.1, %bb58 ]          ; <i32> [#uses=2]
25         %tmp14 = icmp slt i32 %nmonths_addr.016.1, -11          ; <i1> [#uses=1]
26         br i1 %tmp14, label %bb16, label %bb45
28 bb93:           ; preds = %bb58, %bb53, %bb16
29         ret void