[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Transforms / GVN / 2012-05-22-PreCrash.ll
blobb488dda9c38479be942c74fcc99e492dfbbb120d
1 ; RUN: opt < %s -gvn
2 ; PR12858
4 define void @fn5(i16 signext %p1, i8 signext %p2) nounwind uwtable {
5 entry:
6   br i1 undef, label %if.else, label %if.then
8 if.then:                                          ; preds = %entry
9   br label %if.end
11 if.else:                                          ; preds = %entry
12   %conv = sext i16 %p1 to i32
13   br label %if.end
15 if.end:                                           ; preds = %if.else, %if.then
16   %conv1 = sext i16 %p1 to i32
17   br i1 undef, label %if.then3, label %if.else4
19 if.then3:                                         ; preds = %if.end
20   br label %if.end12
22 if.else4:                                         ; preds = %if.end
23   %conv7 = sext i8 %p2 to i32
24   %cmp8 = icmp eq i32 %conv1, %conv7
25   br i1 %cmp8, label %if.then10, label %if.end12
27 if.then10:                                        ; preds = %if.else4
28   br label %if.end12
30 if.end12:                                         ; preds = %if.then10, %if.else4, %if.then3
31   %conv13 = sext i8 %p2 to i32
32   ret void