brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · f6cadff Raw
51 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output -polly-invariant-load-hoisting < %s 2>&1 | FileCheck %s2 3; CHECK:      Invariant Accesses: {4; CHECK-NEXT:         ReadAccess :=	[Reduction Type: NONE] [Scalar: 0]5; CHECK-NEXT:             [val] -> { Stmt_next[] -> MemRef_ptr[0] };6; CHECK-NEXT:         Execution Context: [val] -> {  :  }7; CHECK-NEXT: }8 9; CHECK: Statements {10; CHECK-NEXT: 	Stmt_a11; CHECK-NEXT:         Domain :=12; CHECK-NEXT:             [val] -> { Stmt_a[] : val = -1 };13; CHECK-NEXT:         Schedule :=14; CHECK-NEXT:             [val] -> { Stmt_a[] -> [1, 0] };15; CHECK-NEXT:         MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 0]16; CHECK-NEXT:             [val] -> { Stmt_a[] -> MemRef_X[0] };17; CHECK-NEXT: 	Stmt_loop18; CHECK-NEXT:         Domain :=19; CHECK-NEXT:             [val] -> { Stmt_loop[i0] : val = 0 and 0 <= i0 <= 1025 };20; CHECK-NEXT:         Schedule :=21; CHECK-NEXT:             [val] -> { Stmt_loop[i0] -> [0, i0] };22; CHECK-NEXT:         MustWriteAccess :=	[Reduction Type: NONE] [Scalar: 0]23; CHECK-NEXT:             [val] -> { Stmt_loop[i0] -> MemRef_X[0] };24; CHECK-NEXT: }25 26define void @foo(ptr %ptr, ptr %X) {27entry:28  br label %next29 30next:31  %val = load i1, ptr %ptr32  br i1 %val, label %a, label %loop33 34a:35  store float 1.0, ptr %X36  br label %merge37 38loop:39  %indvar = phi i64 [0, %next], [%indvar.next, %loop]40  store float 1.0, ptr %X41  %indvar.next = add nsw i64 %indvar, 142  %cmp = icmp sle i64 %indvar, 102443  br i1 %cmp, label %loop, label %merge44 45merge:46  br label %exit47 48exit:49  ret void50}51