[InstCombine] Signed saturation patterns
[llvm-core.git] / test / Analysis / MemorySSA / pr40037.ll
bloba123a06ac50b057acbc77e42f7952cf7beb1b5de
1 ; REQUIRES: asserts
2 ; RUN: opt -S -simple-loop-unswitch -enable-mssa-loop-dependency -verify-memoryssa  < %s | FileCheck %s
4 target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
5 target triple = "s390x-ibm-linux"
7 ; CHECK-LABEL: @func_23()
8 define dso_local void @func_23() local_unnamed_addr {
9   br label %bb2
10 bb2:                                              ; preds = %bb2.loopexit, %bb
11   br label %bb7
12 bb3.bb9.preheader_crit_edge:                      ; preds = %bb7
13   br label %bb9.preheader
14 bb9.preheader:                                    ; preds = %bb3.bb9.preheader_crit_edge, %bb2
15   %tmp20 = icmp eq i32 0, 0
16   %tmp24 = icmp ugt i32 65536, 65535
17   br label %bb13
18 bb7:                                              ; preds = %bb7.lr.ph, %bb7
19   %tmp6 = icmp slt i8 94, 6
20   br i1 %tmp6, label %bb7, label %bb3.bb9.preheader_crit_edge
21 bb9:                                              ; preds = %bb21
22   store i16 %tmp27, i16* undef, align 2
23   %tmp12 = icmp eq i16 %tmp27, 1
24   br i1 %tmp12, label %bb28, label %bb13
25 bb13:                                             ; preds = %bb9.preheader, %bb9
26   %storemerge3 = phi i16 [ 0, %bb9.preheader ], [ %tmp27, %bb9 ]
27   br i1 %tmp20, label %bb21, label %bb28
28 bb21:                                             ; preds = %bb13
29   %tmp27 = add i16 %storemerge3, 1
30   br i1 %tmp24, label %bb2, label %bb9
31 bb28:                                             ; preds = %bb13, %bb9
32   ret void