brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · 251be09 Raw
62 lines · plain
1; RUN: opt %loadNPMPolly -polly-stmt-granularity=bb '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2 3declare void @bar()4 5define void @foo(ptr %A, i64 %p) {6start:7   br label %next8 9next:10   %cmpA = icmp sle i64 %p, 011   br i1 %cmpA, label %error, label %ok12 13error:14   call void @bar()15   br label %merge16 17ok:18   br label %merge19 20merge:21   %phi = phi i64 [0, %error], [1, %ok]22   store float 42.0, ptr %A23   %cmp = icmp eq i64 %phi, %p24   br i1 %cmp, label %loop, label %exit25 26loop:27   %indvar = phi i64 [0, %merge], [%indvar.next, %loop]28   store float 42.0, ptr %A29   %indvar.next = add i64 %indvar, 130   %cmp2 = icmp sle i64 %indvar, 102431   br i1 %cmp2, label %loop, label %exit32 33exit:34   ret void35}36 37; CHECK:      Statements {38; CHECK-NEXT: 	Stmt_ok39; CHECK-NEXT:         Domain :=40; CHECK-NEXT:             [p] -> { Stmt_ok[] : p > 0 };41; CHECK-NEXT:         Schedule :=42; CHECK-NEXT:             [p] -> { Stmt_ok[] -> [0, 0] };43; CHECK-NEXT:         MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 1]44; CHECK-NEXT:             [p] -> { Stmt_ok[] -> MemRef_phi__phi[] };45; CHECK-NEXT: 	Stmt_merge46; CHECK-NEXT:         Domain :=47; CHECK-NEXT:             [p] -> { Stmt_merge[] };48; CHECK-NEXT:         Schedule :=49; CHECK-NEXT:             [p] -> { Stmt_merge[] -> [1, 0] };50; CHECK-NEXT:         ReadAccess :=	[Reduction Type: NONE] [Scalar: 1]51; CHECK-NEXT:             [p] -> { Stmt_merge[] -> MemRef_phi__phi[] };52; CHECK-NEXT:         MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 0]53; CHECK-NEXT:             [p] -> { Stmt_merge[] -> MemRef_A[0] };54; CHECK-NEXT: 	Stmt_loop55; CHECK-NEXT:         Domain :=56; CHECK-NEXT:             [p] -> { Stmt_loop[i0] : p = 1 and 0 <= i0 <= 1025 };57; CHECK-NEXT:         Schedule :=58; CHECK-NEXT:             [p] -> { Stmt_loop[i0] -> [2, i0] };59; CHECK-NEXT:         MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 0]60; CHECK-NEXT:             [p] -> { Stmt_loop[i0] -> MemRef_A[0] };61; CHECK-NEXT: }62