Update Polly tests to handle explicitly typed gep changes in LLVM
[polly-mirror.git] / test / Isl / Ast / OpenMP / nested_loop_inner_parallel.ll
blob8fa45ccbc1127de65fbea32aa1bc7e6e09154d5d
1 ; RUN: opt %loadPolly -polly-detect-unprofitable -polly-ast -polly-parallel -polly-parallel-force -analyze < %s | FileCheck %s
2 target 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"
3 target triple = "x86_64-pc-linux-gnu"
5 ; for (i = 0; i < n; i++)
6 ;   for (j = 0; j < n; j++)
7 ;     A[j] = 1;
9 @A = common global [1024 x i32] zeroinitializer
10 define void @bar(i64 %n) {
11 start:
12   fence seq_cst
13   br label %loop.i
15 loop.i:
16   %i = phi i64 [ 0, %start ], [ %i.next, %loop.i.backedge ]
17   %exitcond.i = icmp ne i64 %i, %n
18   br i1 %exitcond.i, label %loop.j, label %ret
20 loop.j:
21   %j = phi i64 [ 0, %loop.i], [ %j.next, %loop.j.backedge ]
22   %exitcond.j = icmp ne i64 %j, %n
23   br i1 %exitcond.j, label %loop.body, label %loop.i.backedge
25 loop.body:
26   %scevgep = getelementptr [1024 x i32], [1024 x i32]* @A, i64 0, i64 %j
27   store i32 1, i32* %scevgep
28   br label %loop.j.backedge
30 loop.j.backedge:
31   %j.next = add nsw i64 %j, 1
32   br label %loop.j
34 loop.i.backedge:
35   %i.next = add nsw i64 %i, 1
36   br label %loop.i
38 ret:
39   fence seq_cst
40   ret void
43 ; CHECK: for (int c0 = 0; c0 < n; c0 += 1)
44 ; CHECK:   #pragma simd
45 ; CHECK:   #pragma omp parallel for
46 ; CHECK:   for (int c1 = 0; c1 < n; c1 += 1)
47 ; CHECK:     Stmt_loop_body(c0, c1);