; RUN: opt -mtriple=s390x-linux-gnu -mcpu=z13 -verify-memoryssa -passes='function(sroa),globalopt,function-attrs,function(simplifycfg,loop-mssa(licm),loop(simple-loop-unswitch))' %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" @0 = internal global i32 -9, align 4 @1 = internal global i64 9, align 8 @g_1042 = external dso_local global [5 x i16], align 2 ; CHECK-LABEL: @main() ; Function Attrs: nounwind define dso_local void @main() #0 { call void @func_1() unreachable } ; Function Attrs: argmemonly nounwind declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #1 ; Function Attrs: nounwind define dso_local void @func_1() #0 { %1 = alloca ptr, align 8 %2 = call signext i32 @func_2() %3 = icmp ne i32 %2, 0 br i1 %3, label %4, label %9 ;