46 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<detect>' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT2 3; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s -check-prefix=SCOP4 5; DETECT: Valid Region for Scop: loop => barrier6; DETECT-NEXT: Valid Region for Scop: branch => end7 8; SCOP: Statements {9; SCOP-NEXT: Stmt_then10; SCOP-NEXT: Domain :=11; SCOP-NEXT: [p_0] -> { Stmt_then[] : p_0 <= -2 or p_0 >= 0 };12; SCOP-NEXT: Schedule :=13; SCOP-NEXT: [p_0] -> { Stmt_then[] -> [] };14; SCOP-NEXT: MustWriteAccess := [Reduction Type: NONE] [Scalar: 0]15; SCOP-NEXT: [p_0] -> { Stmt_then[] -> MemRef_A[0] };16; SCOP-NEXT: }17 18target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"19target triple = "aarch64--linux-android"20 21define void @f(i16 %event, ptr %A) {22entry:23 br label %loop24 25loop:26 %indvar = phi i8 [ 0, %entry ], [ %indvar.next, %loop ]27 %indvar.next = add i8 %indvar, -128 store float 1.0, ptr %A29 %cmp = icmp eq i8 %indvar.next, 030 br i1 false, label %barrier, label %loop31 32barrier:33 fence seq_cst34 br label %branch35 36branch:37 br i1 %cmp, label %branch, label %then38 39then:40 store float 1.0, ptr %A41 br label %end42 43end:44 ret void45}46