brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · 4af37ba Raw
47 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<detect>' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s2;3; Check that we will recognize this SCoP.4;5;    void f(int *A, long N) {6;      int j = 0;7;      while (N > j) {8;        int x = A[0];9;        int i = 1;10;        do {11;          A[x] = 42;12;          A += x;13;        } while (i++ < N);14;      }15;    }16;17; CHECK: Valid Region for Scop: bb1 => bb018;19target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"20 21define void @f(ptr %A, i64 %N) {22bb:23  br label %bb024 25bb0:26  %j = phi i64 [ %j.next, %bb1 ], [ 1, %bb ]27  %tmp = load i32, ptr %A, align 428  %exitcond0 = icmp sgt i64 %N, %j29  %j.next = add nuw nsw i64 %j, 130  br i1 %exitcond0, label %bb1, label %bb1331 32bb1:                                              ; preds = %bb7, %bb033  %i = phi i64 [ %i.next, %bb1 ], [ 1, %bb0 ]34  %.0 = phi ptr [ %A, %bb0 ], [ %tmp12, %bb1 ]35  %tmp8 = sext i32 %tmp to i6436  %tmp9 = getelementptr inbounds i32, ptr %.0, i64 %tmp837  store i32 42, ptr %tmp9, align 438  %tmp11 = sext i32 %tmp to i6439  %tmp12 = getelementptr inbounds i32, ptr %.0, i64 %tmp1140  %i.next = add nuw nsw i64 %i, 141  %exitcond = icmp ne i64 %i, %N42  br i1 %exitcond, label %bb1, label %bb043 44bb13:                                             ; preds = %bb145  ret void46}47