brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 50b0103 Raw
58 lines · plain
1; RUN: opt %loadNPMPolly -aa-pipeline=tbaa '-passes=polly-custom<scops>' -polly-print-scops -polly-invariant-load-hoisting=true -polly-ignore-aliasing -disable-output < %s 2>&1 | FileCheck %s2;3; Note: The order of the invariant accesses is important because A is the4;       base pointer of tmp3 and we will generate code in the same order as5;       the invariant accesses are listed here.6;7; CHECK: Invariant Accesses: {8; CHECK:    ReadAccess := [Reduction Type: NONE] [Scalar: 0]9; CHECK:         MemRef_A[42]10; CHECK:    ReadAccess := [Reduction Type: NONE] [Scalar: 0]11; CHECK:         MemRef_tmp3[32]12; CHECK: }13;14; CHECK: Arrays {15; CHECK:   ptr MemRef_A[*];16; CHECK:   ptr MemRef_tmp3[*]; [BasePtrOrigin: MemRef_A]17; CHECK:   i32 MemRef_tmp5[*]; [BasePtrOrigin: MemRef_tmp3]18; CHECK: }19;20; CHECK: Arrays (Bounds as pw_affs) {21; CHECK:   ptr MemRef_A[*];22; CHECK:   ptr MemRef_tmp3[*]; [BasePtrOrigin: MemRef_A]23; CHECK:   i32 MemRef_tmp5[*]; [BasePtrOrigin: MemRef_tmp3]24; CHECK: }25;26;    void f(int ***A) {27;      for (int i = 0; i < 1024; i++)28;        A[42][32][i] = 0;29;    }30;31target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"32 33define void @f(ptr %A) {34bb:35  br label %bb136 37bb1:                                              ; preds = %bb7, %bb38  %indvars.iv = phi i64 [ %indvars.iv.next, %bb7 ], [ 0, %bb ]39  %exitcond = icmp ne i64 %indvars.iv, 102440  br i1 %exitcond, label %bb2, label %bb841 42bb2:                                              ; preds = %bb143  %tmp = getelementptr inbounds ptr, ptr %A, i64 4244  %tmp3 = load ptr, ptr %tmp, align 845  %tmp4 = getelementptr inbounds ptr, ptr %tmp3, i64 3246  %tmp5 = load ptr, ptr %tmp4, align 847  %tmp6 = getelementptr inbounds i32, ptr %tmp5, i64 %indvars.iv48  store i32 0, ptr %tmp6, align 449  br label %bb750 51bb7:                                              ; preds = %bb252  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 153  br label %bb154 55bb8:                                              ; preds = %bb156  ret void57}58