63 lines · plain
1; RUN: opt -passes=licm -verify-memoryssa -S < %s | FileCheck %s2; REQUIRES: asserts3 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@g_328 = external dso_local local_unnamed_addr global { i32, i16, i32, i8, i8, i32, i32 }, align 48 9define dso_local void @func_45() local_unnamed_addr {10; CHECK-LABEL: @func_45()11bb:12 br label %bb713 14bb7: ; preds = %bb15 br label %bb816 17bb8: ; preds = %bb80, %bb718 %tmp10 = load i32, ptr getelementptr inbounds ({ i32, i16, i32, i8, i8, i32, i32 }, ptr @g_328, i64 0, i32 5), align 419 %0 = or i32 %tmp10, 920 store i32 %0, ptr getelementptr inbounds ({ i32, i16, i32, i8, i8, i32, i32 }, ptr @g_328, i64 0, i32 5), align 421 br label %bb41.preheader.preheader22 23bb41.preheader.preheader: ; preds = %bb80.thread, %bb824 br label %bb6825 26bb84.thread.split.loop.exit67: ; preds = %bb71.127 br label %bb84.thread28 29bb84.thread.split.loop.exit71: ; preds = %bb71.230 br label %bb84.thread31 32bb84.thread.split.loop.exit91: ; preds = %bb71.1.233 br label %bb84.thread34 35bb84.thread: ; preds = %bb84.thread.split.loop.exit91, %bb84.thread.split.loop.exit71, %bb84.thread.split.loop.exit6736 unreachable37 38bb68: ; preds = %bb41.preheader.preheader39 br i1 false, label %bb71, label %bb8040 41bb71: ; preds = %bb6842 br label %bb71.143 44bb80.thread: ; preds = %bb71.1.245 br label %bb41.preheader.preheader46 47bb80: ; preds = %bb6848 br label %bb849 50bb71.1: ; preds = %bb7151 br i1 true, label %bb84.thread.split.loop.exit67, label %bb71.252 53bb71.2: ; preds = %bb71.154 br i1 true, label %bb84.thread.split.loop.exit71, label %bb71.14555 56bb71.145: ; preds = %bb71.257 br label %bb71.1.258 59bb71.1.2: ; preds = %bb71.14560 br i1 true, label %bb84.thread.split.loop.exit91, label %bb80.thread61}62 63