1; RUN: opt %loadPolly -polly-print-ast -polly-parallel -polly-parallel-force -disable-output < %s | FileCheck %s 2; RUN: opt %loadPolly -print-polyhedral-info -polly-check-parallel -disable-output < %s | FileCheck %s -check-prefix=PINFO 3target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" 4 5; for (i = 0; i < n; i++) 6; A[i] = 1; 7 8@A = common global [1024 x i32] zeroinitializer 9define void @bar(i64 %n) { 10start: 11 fence seq_cst 12 br label %loop.header 13 14loop.header: 15 %i = phi i64 [ 0, %start ], [ %i.next, %loop.backedge ] 16 %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %i 17 %exitcond = icmp ne i64 %i, %n 18 br i1 %exitcond, label %loop.body, label %ret 19 20loop.body: 21 store i32 1, i32* %scevgep 22 br label %loop.backedge 23 24loop.backedge: 25 %i.next = add nsw i64 %i, 1 26 br label %loop.header 27 28ret: 29 fence seq_cst 30 ret void 31} 32 33; CHECK: #pragma simd 34; CHECK: #pragma omp parallel for 35; CHECK: for (int c0 = 0; c0 < n; c0 += 1) 36; CHECK: Stmt_loop_body(c0) 37; PINFO: loop.header: Loop is parallel. 38