[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / Transforms / LoopUnswitch / 2008-06-02-DomInfo.ll
blobff6207de80a9162b65a97890e3120c00c68c86e4
1 ; RUN: opt < %s -loop-unswitch -enable-new-pm=0 -instcombine -gvn -verify-memoryssa -disable-output
2 ; PR2372
3 target triple = "i386-pc-linux-gnu"
5 define i32 @func_3(i16 signext  %p_5, i16 signext  %p_6) nounwind  {
6 entry:
7         %tmp3 = icmp eq i16 %p_5, 0             ; <i1> [#uses=1]
8         %tmp1314 = sext i16 %p_6 to i32         ; <i32> [#uses=1]
9         %tmp28 = icmp ugt i32 %tmp1314, 3               ; <i1> [#uses=1]
10         %bothcond = or i1 %tmp28, false         ; <i1> [#uses=1]
11         br label %bb
12 bb:             ; preds = %bb54, %entry
13         br i1 %tmp3, label %bb54, label %bb5
14 bb5:            ; preds = %bb
15         br i1 %bothcond, label %bb54, label %bb31
16 bb31:           ; preds = %bb5
17         br label %bb54
18 bb54:           ; preds = %bb31, %bb5, %bb
19         br i1 false, label %bb64, label %bb
20 bb64:           ; preds = %bb54
21         %tmp6566 = sext i16 %p_6 to i32         ; <i32> [#uses=1]
22         %tmp68 = tail call i32 (...) @func_18( i32 1, i32 %tmp6566, i32 1 ) nounwind            ; <i32> [#uses=0]
23         ret i32 undef
26 declare i32 @func_18(...)