1; RUN: rm -rf %t 2; RUN: mkdir -p %t 3; RUN: opt %loadNPMPolly -polly-import-jscop-dir=%t -polly -O2 -polly-export -S < %s 4; RUN: FileCheck %s -input-file %t/exportjson___%entry.split---%return.jscop 5; 6; for (int j = 0; j < n; j += 1) { 7; A[0] = 42.0; 8; } 9; 10define void @exportjson(i32 %n, ptr noalias nonnull %A) { 11entry: 12 br label %for 13 14for: 15 %j = phi i32 [0, %entry], [%j.inc, %inc] 16 %j.cmp = icmp slt i32 %j, %n 17 br i1 %j.cmp, label %body, label %exit 18 19 body: 20 store double 42.0, ptr %A 21 br label %inc 22 23inc: 24 %j.inc = add nuw nsw i32 %j, 1 25 br label %for 26 27exit: 28 br label %return 29 30return: 31 ret void 32} 33 34 35; CHECK: { 36; CHECK-NEXT: "arrays": [ 37; CHECK-NEXT: { 38; CHECK-NEXT: "name": "MemRef_A", 39; CHECK-NEXT: "sizes": [ 40; CHECK-NEXT: "*" 41; CHECK-NEXT: ], 42; CHECK-NEXT: "type": "double" 43; CHECK-NEXT: } 44; CHECK-NEXT: ], 45; CHECK-NEXT: "context": "[n] -> { : -2147483648 <= n <= 2147483647 }", 46; CHECK-NEXT: "name": "%entry.split---%return", 47; CHECK-NEXT: "statements": [ 48; CHECK-NEXT: { 49; CHECK-NEXT: "accesses": [ 50; CHECK-NEXT: { 51; CHECK-NEXT: "kind": "write", 52; CHECK-NEXT: "relation": "[n] -> { Stmt_body_lr_ph[] -> MemRef_A[0] }" 53; CHECK-NEXT: } 54; CHECK-NEXT: ], 55; CHECK-NEXT: "domain": "[n] -> { Stmt_body_lr_ph[] : n > 0 }", 56; CHECK-NEXT: "name": "Stmt_body_lr_ph", 57; CHECK-NEXT: "schedule": "[n] -> { Stmt_body_lr_ph[] -> [] }" 58; CHECK-NEXT: } 59; CHECK-NEXT: ] 60; CHECK-NEXT: } 61