brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · 5941aec Raw
59 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 = "systemz-unknown"6 7@g_3 = external dso_local local_unnamed_addr global i32, align 48@g_57 = external dso_local local_unnamed_addr global i8, align 29@g_82 = external dso_local global [8 x i16], align 210@g_107 = external dso_local local_unnamed_addr global i32, align 411 12define internal fastcc void @foo1() unnamed_addr{13; CHECK-LABEL: @foo1()14entry:15  %.pre.pre = load i32, ptr @g_3, align 416  br label %loop117 18loop1:19  %tmp0 = phi i32 [ undef, %entry ], [ %var18.lcssa, %loopexit ]20  br label %preheader21 22preheader:23  %indvars.iv = phi i64 [ 0, %loop1 ], [ %indvars.iv.next, %loop6 ]24  %phi18 = phi i32 [ %tmp0, %loop1 ], [ 0, %loop6 ]25  %phi87 = phi i32 [ 0, %loop1 ], [ %tmp7, %loop6 ]26  %tmp1 = getelementptr inbounds [8 x i16], ptr @g_82, i64 0, i64 %indvars.iv27  %tmp2 = load i16, ptr %tmp1, align 228  %tmp3 = trunc i16 %tmp2 to i829  store i8 %tmp3, ptr @g_57, align 230  store i32 8, ptr @g_107, align 431  %tmp4 = icmp eq i32 %.pre.pre, 032  %spec.select = select i1 %tmp4, i32 %phi18, i32 1433  %tmp5 = trunc i64 %indvars.iv to i3234  switch i32 %spec.select, label %loopexit [35    i32 0, label %loop636    i32 14, label %loop937  ]38 39loop6:40  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 141  %tmp7 = add nuw nsw i32 %phi87, 142  %tmp8 = icmp ult i64 %indvars.iv.next, 643  br i1 %tmp8, label %preheader, label %loop944 45loop9:46  %phi8.lcssa = phi i32 [ %tmp5, %preheader ], [ %tmp7, %loop6 ]47  %tmp10 = trunc i32 %phi8.lcssa to i848  %tmp11 = tail call ptr @func_101(ptr getelementptr inbounds ([8 x i16], ptr @g_82, i64 0, i64 6), ptr undef, i8 zeroext %tmp10)49  unreachable50 51loopexit:52  %var18.lcssa = phi i32 [ %phi18, %preheader ]53  br label %loop154 55}56 57declare dso_local ptr @func_101(ptr, ptr, i8) local_unnamed_addr58 59