; RUN: opt -licm -enable-mssa-loop-dependency -verify-memoryssa  -S %s | FileCheck %s
; REQUIRES: asserts

target datalayout = "E-m:e-i1:8:16-i8:8:16-i64:64-f128:64-v128:64-a:8:16-n32:64"
target triple = "s390x-ibm-linux"

@g_77 = external dso_local global i16, align 2

; CHECK-LABEL: @f1()
define void @f1() {
entry:
  store i16 undef, i16* @g_77, align 2
  br label %loop_pre

unreachablelabel: ; No predecessors
  br label %loop_pre

loop_pre:
  br label %for.cond.header

for.cond.header:
  store i32 0, i32* undef, align 4
  br i1 undef, label %for.body, label %for.end

for.body:
  %tmp1 = load volatile i16, i16* undef, align 2
  br label %for.end

for.end:
  br i1 undef, label %func.exit, label %for.cond.header

func.exit:
  ret void
}

@g_159 = external dso_local global i32, align 4

; CHECK-LABEL: @f2()
define void @f2() {
entry:
  br label %for.header.first

for.header.first:
  br label %for.body.first

for.body.first:
  store i32 0, i32* @g_159, align 4
  br i1 undef, label %for.body.first, label %for.end.first

for.end.first:
  br i1 undef, label %lor.end, label %for.header.first

lor.end:
  br label %for.pre

unreachablelabel: ; No predecessors
  br label %for.pre

for.pre:
  br label %for.header.second

for.header.second:
  store i32 undef, i32* undef, align 4
  br label %for.header.second
}

@g_271 = external dso_local global i8, align 2
@g_427 = external dso_local unnamed_addr global [9 x i16], align 2

; CHECK-LABEL: @f3()
define  void @f3() {
entry:
  br label %for.preheader

for.preheader:
  store volatile i8 undef, i8* @g_271, align 2
  br i1 undef, label %for.preheader, label %for.end

for.end:
  br label %lbl_1058.i

unreachablelabel: ; No predecessors
  br label %lbl_1058.i

lbl_1058.i:
  br label %for.cond3.preheader.i

for.cond3.preheader.i:
  %tmp1 = load i16, i16* getelementptr inbounds ([9 x i16], [9 x i16]* @g_427, i64 0, i64 2), align 2
  %conv620.i129 = zext i16 %tmp1 to i32
  %cmp621.i130 = icmp ugt i32 undef, %conv620.i129
  %conv622.i131 = zext i1 %cmp621.i130 to i32
  store i32 %conv622.i131, i32* undef, align 4
  br i1 undef, label %func.exit, label %for.cond3.preheader.i

func.exit:
  ret void
}

@g_6 = external dso_local unnamed_addr global [3 x i32], align 4
@g_244 = external dso_local global i64, align 8
@g_1164 = external dso_local global i64, align 8

; CHECK-LABEL: @f4()
define void @f4() {
entry:
  br label %for.cond8.preheader

for.cond8.preheader:
  store i32 0, i32* getelementptr inbounds ([3 x i32], [3 x i32]* @g_6, i64 0, i64 2), align 4
  br i1 undef, label %if.end, label %for.cond8.preheader

if.end:
  br i1 undef, label %cleanup1270, label %for.cond504.preheader

for.cond504.preheader:
  store i64 undef, i64* @g_244, align 8
  br label %cleanup1270

for.cond559.preheader:
  store i64 undef, i64* @g_1164, align 8
  br i1 undef, label %for.cond559.preheader, label %cleanup1270

cleanup1270:
  ret void
}

@g_1504 = external dso_local local_unnamed_addr global i16****, align 8

define void @f5() {
bb:
  tail call fastcc void @f21()
  br label %bb12.outer

bb12.outer.loopexit:                              ; No predecessors!
  br label %bb12.outer

bb12.outer:                                       ; preds = %bb12.outer.loopexit, %bb
  br i1 undef, label %bb12.outer.split.us, label %bb12.preheader

bb12.preheader:                                   ; preds = %bb12.outer
  br label %bb12

bb12.outer.split.us:                              ; preds = %bb12.outer
  br label %bb16.us.us

bb16.us.us:                                       ; preds = %bb16.us.us, %bb12.outer.split.us
  br label %bb16.us.us

bb12:                                             ; preds = %bb77.1, %bb12.preheader
  br i1 undef, label %bb25.preheader, label %bb77

bb25.preheader:                                   ; preds = %bb12.1, %bb12
  br label %bb25

bb25:                                             ; preds = %l0, %bb25.preheader
  br i1 undef, label %bb62, label %bb71.thread

bb62:                                             ; preds = %bb25
  br i1 undef, label %bb92.loopexit, label %l0

l0:                                                ; preds = %bb62
  br label %bb25

bb71.thread:                                      ; preds = %bb25
  br label %bb92

bb77:                                             ; preds = %bb12
  %tmp78 = load i16****, i16***** @g_1504, align 8
  %tmp79 = load volatile i16***, i16**** %tmp78, align 8
  br i1 undef, label %bb91, label %bb12.1

bb91:                                             ; preds = %bb77.1, %bb77
  unreachable

bb92.loopexit:                                    ; preds = %bb62
  br label %bb92

bb92:                                             ; preds = %bb92.loopexit, %bb71.thread
  ret void

bb12.1:                                           ; preds = %bb77
  br i1 undef, label %bb25.preheader, label %bb77.1

bb77.1:                                           ; preds = %bb12.1
  br i1 undef, label %bb91, label %bb12
}

declare void @f21()
