; RUN: opt %loadNPMPolly -polly-allow-nonaffine -S < %s 2>&1 | FileCheck %s --check-prefix=CODE
; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=print<polly-function-scops>' -disable-output < %s 2>&1 | FileCheck %s
;
; Verify there is a phi in the non-affine region but it is not represented in
; the SCoP as all operands as well as the uses are inside the region too.
;
;    void f(int *A) {
;      for (int i = 0; i < 1024; i++) {
;        if (A[i]) {
;          int x = 0;
;          if (i > 512)
;            x = 1 + A[i];
;          A[i] = x;
;        }
;      }
;    }
;
; CODE-LABEL: bb11:
; CODE:         %x.0 = phi i32
;
; We have 3 accesses to A that should be present in the SCoP but no scalar access.
;
; CHECK-NOT: [Scalar: 1]
; CHECK:     [Scalar: 0]
; CHECK-NOT: [Scalar: 1]
; CHECK:     [Scalar: 0]
; CHECK-NOT: [Scalar: 1]
; CHECK:     [Scalar: 0]
; CHECK-NOT: [Scalar: 1]
;
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

define void @f(ptr %A) {
bb:
  br label %bb1

bb1:                                              ; preds = %bb14, %bb
  %indvars.iv = phi i64 [ %indvars.iv.next, %bb14 ], [ 0, %bb ]
  %exitcond = icmp ne i64 %indvars.iv, 1024
  br i1 %exitcond, label %bb2, label %bb15

bb2:                                              ; preds = %bb1
  %tmp = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
  %tmp3 = load i32,  ptr %tmp, align 4
  %tmp4 = icmp eq i32 %tmp3, 0
  br i1 %tmp4, label %bb13, label %bb5

bb5:                                              ; preds = %bb2
  %tmp6 = icmp sgt i64 %indvars.iv, 512
  br i1 %tmp6, label %bb7, label %bb11

bb7:                                              ; preds = %bb5
  %tmp8 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
  %tmp9 = load i32,  ptr %tmp8, align 4
  %tmp10 = add nsw i32 %tmp9, 1
  br label %bb11

bb11:                                             ; preds = %bb7, %bb5
  %x.0 = phi i32 [ %tmp10, %bb7 ], [ 0, %bb5 ]
  %tmp12 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv
  store i32 %x.0, ptr %tmp12, align 4
  br label %bb13

bb13:                                             ; preds = %bb2, %bb11
  br label %bb14

bb14:                                             ; preds = %bb13
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  br label %bb1

bb15:                                             ; preds = %bb1
  ret void
}
