1; REQUIRES: asserts 2; RUN: opt -S -passes="loop-mssa(simple-loop-unswitch)" -verify-memoryssa < %s | FileCheck %s 3 4target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64" 5target triple = "s390x-ibm-linux" 6 7; CHECK-LABEL: @func_23() 8define dso_local void @func_23() local_unnamed_addr { 9 br label %bb2 10bb2: ; preds = %bb2.loopexit, %bb 11 br label %bb7 12bb3.bb9.preheader_crit_edge: ; preds = %bb7 13 br label %bb9.preheader 14bb9.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 18bb7: ; preds = %bb7.lr.ph, %bb7 19 %tmp6 = icmp slt i8 94, 6 20 br i1 %tmp6, label %bb7, label %bb3.bb9.preheader_crit_edge 21bb9: ; preds = %bb21 22 store i16 %tmp27, ptr undef, align 2 23 %tmp12 = icmp eq i16 %tmp27, 1 24 br i1 %tmp12, label %bb28, label %bb13 25bb13: ; preds = %bb9.preheader, %bb9 26 %storemerge3 = phi i16 [ 0, %bb9.preheader ], [ %tmp27, %bb9 ] 27 br i1 %tmp20, label %bb21, label %bb28 28bb21: ; preds = %bb13 29 %tmp27 = add i16 %storemerge3, 1 30 br i1 %tmp24, label %bb2, label %bb9 31bb28: ; preds = %bb13, %bb9 32 ret void 33} 34