brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.8 KiB · c28e3c1 Raw
116 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt < %s -passes=memcpyopt -S -verify-memoryssa | FileCheck %s3target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"4target triple = "x86_64-grtev4-linux-gnu"5 6define ptr @foo(ptr returned %0, i32 %1, i64 %2) {7; CHECK-LABEL: @foo(8; CHECK-NEXT:  entry:9; CHECK-NEXT:    [[TMP3:%.*]] = getelementptr inbounds i8, ptr [[TMP0:%.*]], i64 [[TMP2:%.*]]10; CHECK-NEXT:    [[TMP4:%.*]] = getelementptr inbounds i8, ptr [[TMP3]], i64 -3211; CHECK-NEXT:    [[VV:%.*]] = trunc i32 [[TMP1:%.*]] to i812; CHECK-NEXT:    [[TMP5:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 113; CHECK-NEXT:    [[TMP6:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 214; CHECK-NEXT:    [[TMP7:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 315; CHECK-NEXT:    [[TMP8:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 416; CHECK-NEXT:    [[TMP9:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 517; CHECK-NEXT:    [[TMP10:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 618; CHECK-NEXT:    [[TMP11:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 719; CHECK-NEXT:    [[TMP12:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 820; CHECK-NEXT:    [[TMP13:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 921; CHECK-NEXT:    [[TMP14:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1022; CHECK-NEXT:    [[TMP15:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1123; CHECK-NEXT:    [[TMP16:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1224; CHECK-NEXT:    [[TMP17:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1325; CHECK-NEXT:    [[TMP18:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1426; CHECK-NEXT:    [[TMP19:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1527; CHECK-NEXT:    [[TMP20:%.*]] = getelementptr inbounds i8, ptr [[TMP4]], i64 1628; CHECK-NEXT:    [[TMP21:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 129; CHECK-NEXT:    [[TMP22:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 230; CHECK-NEXT:    [[TMP23:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 331; CHECK-NEXT:    [[TMP24:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 432; CHECK-NEXT:    [[TMP25:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 533; CHECK-NEXT:    [[TMP26:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 634; CHECK-NEXT:    [[TMP27:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 735; CHECK-NEXT:    [[TMP28:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 836; CHECK-NEXT:    [[TMP29:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 937; CHECK-NEXT:    [[TMP30:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1038; CHECK-NEXT:    [[TMP31:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1139; CHECK-NEXT:    [[TMP32:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1240; CHECK-NEXT:    [[TMP33:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1341; CHECK-NEXT:    [[TMP34:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1442; CHECK-NEXT:    [[TMP35:%.*]] = getelementptr inbounds i8, ptr [[TMP20]], i64 1543; CHECK-NEXT:    call void @llvm.memset.p0.i64(ptr align 1 [[TMP4]], i8 [[VV]], i64 32, i1 false)44; CHECK-NEXT:    ret ptr [[TMP0]]45;46entry:47  %3 = getelementptr inbounds i8, ptr %0, i64 %248  %4 = getelementptr inbounds i8, ptr %3, i64 -3249  %vv = trunc i32 %1 to i850  store i8 %vv, ptr %4, align 151  %5 = getelementptr inbounds i8, ptr %4, i64 152  store i8 %vv, ptr %5, align 153  %6= getelementptr inbounds i8, ptr %4, i64 254  store i8 %vv, ptr %6, align 155  %7= getelementptr inbounds i8, ptr %4, i64 356  store i8 %vv, ptr %7, align 157  %8= getelementptr inbounds i8, ptr %4, i64 458  store i8 %vv, ptr %8, align 159  %9= getelementptr inbounds i8, ptr %4, i64 560  store i8 %vv, ptr %9, align 161  %10= getelementptr inbounds i8, ptr %4, i64 662  store i8 %vv, ptr %10, align 163  %11= getelementptr inbounds i8, ptr %4, i64 764  store i8 %vv, ptr %11, align 165  %12= getelementptr inbounds i8, ptr %4, i64 866  store i8 %vv, ptr %12, align 167  %13= getelementptr inbounds i8, ptr %4, i64 968  store i8 %vv, ptr %13, align 169  %14= getelementptr inbounds i8, ptr %4, i64 1070  store i8 %vv, ptr %14, align 171  %15= getelementptr inbounds i8, ptr %4, i64 1172  store i8 %vv, ptr %15, align 173  %16= getelementptr inbounds i8, ptr %4, i64 1274  store i8 %vv, ptr %16, align 175  %17= getelementptr inbounds i8, ptr %4, i64 1376  store i8 %vv, ptr %17, align 177  %18= getelementptr inbounds i8, ptr %4, i64 1478  store i8 %vv, ptr %18, align 179  %19= getelementptr inbounds i8, ptr %4, i64 1580  store i8 %vv, ptr %19, align 181  %20= getelementptr inbounds i8, ptr %4, i64 1682  store i8 %vv, ptr %20, align 183  %21= getelementptr inbounds i8, ptr %20, i64 184  store i8 %vv, ptr %21, align 185  %22= getelementptr inbounds i8, ptr %20, i64 286  store i8 %vv, ptr %22, align 187  %23= getelementptr inbounds i8, ptr %20, i64 388  store i8 %vv, ptr %23, align 189  %24= getelementptr inbounds i8, ptr %20, i64 490  store i8 %vv, ptr %24, align 191  %25= getelementptr inbounds i8, ptr %20, i64 592  store i8 %vv, ptr %25, align 193  %26= getelementptr inbounds i8, ptr %20, i64 694  store i8 %vv, ptr %26, align 195  %27= getelementptr inbounds i8, ptr %20, i64 796  store i8 %vv, ptr %27, align 197  %28= getelementptr inbounds i8, ptr %20, i64 898  store i8 %vv, ptr %28, align 199  %29= getelementptr inbounds i8, ptr %20, i64 9100  store i8 %vv, ptr %29, align 1101  %30= getelementptr inbounds i8, ptr %20, i64 10102  store i8 %vv, ptr %30, align 1103  %31 = getelementptr inbounds i8, ptr %20, i64 11104  store i8 %vv, ptr %31, align 1105  %32 = getelementptr inbounds i8, ptr %20, i64 12106  store i8 %vv, ptr %32, align 1107  %33 = getelementptr inbounds i8, ptr %20, i64 13108  store i8 %vv, ptr %33, align 1109  %34 = getelementptr inbounds i8, ptr %20, i64 14110  store i8 %vv, ptr %34, align 1111  %35 = getelementptr inbounds i8, ptr %20, i64 15112  store i8 %vv, ptr %35, align 1113  ret ptr %0114}115 116