1 ; RUN: opt -licm -enable-mssa-loop-dependency -verify-memoryssa -S < %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 @g_328 = external dso_local local_unnamed_addr global { i32, i16, i32, i8, i8, i32, i32 }, align 4
9 define dso_local void @func_45() local_unnamed_addr {
10 ; CHECK-LABEL: @func_45()
17 bb8: ; preds = %bb80, %bb7
18 %tmp10 = load i32, i32* getelementptr inbounds ({ i32, i16, i32, i8, i8, i32, i32 }, { i32, i16, i32, i8, i8, i32, i32 }* @g_328, i64 0, i32 5), align 4
20 store i32 %0, i32* getelementptr inbounds ({ i32, i16, i32, i8, i8, i32, i32 }, { i32, i16, i32, i8, i8, i32, i32 }* @g_328, i64 0, i32 5), align 4
21 br label %bb41.preheader.preheader
23 bb41.preheader.preheader: ; preds = %bb80.thread, %bb8
26 bb84.thread.split.loop.exit67: ; preds = %bb71.1
29 bb84.thread.split.loop.exit71: ; preds = %bb71.2
32 bb84.thread.split.loop.exit91: ; preds = %bb71.1.2
35 bb84.thread: ; preds = %bb84.thread.split.loop.exit91, %bb84.thread.split.loop.exit71, %bb84.thread.split.loop.exit67
38 bb68: ; preds = %bb41.preheader.preheader
39 br i1 false, label %bb71, label %bb80
44 bb80.thread: ; preds = %bb71.1.2
45 br label %bb41.preheader.preheader
50 bb71.1: ; preds = %bb71
51 br i1 true, label %bb84.thread.split.loop.exit67, label %bb71.2
53 bb71.2: ; preds = %bb71.1
54 br i1 true, label %bb84.thread.split.loop.exit71, label %bb71.145
56 bb71.145: ; preds = %bb71.2
59 bb71.1.2: ; preds = %bb71.145
60 br i1 true, label %bb84.thread.split.loop.exit91, label %bb80.thread