63 lines · plain
1; RUN: opt -S -passes="loop-mssa(licm,simple-loop-unswitch)" -verify-memoryssa %s | FileCheck %s2; REQUIRES: asserts3target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"4target triple = "s390x-ibm-linux"5 6@g_92 = external dso_local local_unnamed_addr global i16, align 27@g_993 = external dso_local local_unnamed_addr global i32, align 48 9; CHECK-LABEL: @ff610define dso_local fastcc void @ff6(i16 %arg1, i1 %arg2) unnamed_addr #0 {11bb:12 %tmp6.i = icmp sgt i16 %arg1, 013 br label %bb1014 15bb10: ; preds = %bb81.loopexit, %bb16 %tmp17 = load i16, ptr @g_92, align 217 %tmp18 = add i16 %tmp17, 118 store i16 %tmp18, ptr @g_92, align 219 br label %bb1920 21bb19: ; preds = %bb42, %bb1022 br label %bb24.preheader23 24bb24.preheader: ; preds = %bb75, %bb1925 store i32 0, ptr @g_993, align 426 br i1 %tmp6.i, label %bb24.preheader.split.us, label %bb24.preheader.split27 28bb24.preheader.split.us: ; preds = %bb24.preheader29 br label %bb61.us30 31bb67.us.loopexit: ; preds = %bb65.us32 br label %bb7533 34bb61.us: ; preds = %bb65.us, %bb24.preheader.split.us35 br i1 false, label %bb65.us, label %bb81.loopexit36 37bb65.us: ; preds = %bb61.us38 br i1 false, label %bb61.us, label %bb67.us.loopexit39 40bb24.preheader.split: ; preds = %bb24.preheader41 br label %bb2742 43bb27: ; preds = %bb24.preheader.split44 br i1 false, label %bb42, label %bb6745 46bb42: ; preds = %bb2747 br label %bb1948 49bb67: ; preds = %bb2750 br label %bb7551 52bb75: ; preds = %bb67, %bb67.us.loopexit53 br i1 %arg2, label %bb24.preheader, label %bb84.loopexit54 55bb81.loopexit: ; preds = %bb61.us56 br label %bb1057 58bb84.loopexit: ; preds = %bb7559 ret void60}61 62attributes #0 = { "target-features"="+transactional-execution,+vector" }63