brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · cbd8e41 Raw
51 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<prepare;scops>' -polly-print-scops -tailcallopt -disable-output < %s 2>&1 | FileCheck %s --check-prefix=NOLICM2 3;    void foo(int n, float A[static const restrict n], float x) {4;      //      (0)5;      for (int i = 0; i < 5; i += 1) {6;        for (int j = 0; j < n; j += 1) {7;          x = 7; // (1)8;        }9;        A[0] = x; // (3)10;      }11;      // (4)12;    }13 14; NOLICM: Statements15 16target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"17 18define void @foo(i32 %n, ptr noalias nonnull %A, float %x) {19entry:20  %smax = call i32 @llvm.smax.i32(i32 %n, i32 0)21  %0 = add nuw i32 %smax, 122  br label %for.cond.1.preheader23 24for.cond.1.preheader:                             ; preds = %entry, %for.end25  %i.05 = phi i32 [ 0, %entry ], [ %add5, %for.end ]26  %x.addr.04 = phi float [ %x, %entry ], [ %x.addr.1.lcssa, %for.end ]27  br label %for.cond.128 29for.cond.1:                                       ; preds = %for.cond.1, %for.cond.1.preheader30  %x.addr.1 = phi float [ 7.000000e+00, %for.cond.1 ], [ %x.addr.04, %for.cond.1.preheader ]31  %j.0 = phi i32 [ %add, %for.cond.1 ], [ 0, %for.cond.1.preheader ]32  %add = add nuw i32 %j.0, 133  %exitcond = icmp ne i32 %add, %034  br i1 %exitcond, label %for.cond.1, label %for.end35 36for.end:                                          ; preds = %for.cond.137  %x.addr.1.lcssa = phi float [ %x.addr.1, %for.cond.1 ]38  store float %x.addr.1.lcssa, ptr %A, align 439  %add5 = add nuw nsw i32 %i.05, 140  %exitcond6 = icmp ne i32 %add5, 541  br i1 %exitcond6, label %for.cond.1.preheader, label %for.end.642 43for.end.6:                                        ; preds = %for.end44  ret void45}46 47; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)48declare i32 @llvm.smax.i32(i32, i32) #049 50attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }    51