; RUN: opt -passes='loop-vectorize' -debug -S < %s 2>&1 | FileCheck %s
; REQUIRES: asserts

; This checks we don't crash when the inner loop we're trying to vectorize
; is a SCEV AddRec with respect to an outer loop.

; In this case, the problematic PHI is:
; %0 = phi i32 [ poison, %for.cond1.preheader ], [ %inc54, %for.body3 ]
; Since %inc54 is the IV of the outer loop, and %0 equivalent to it,
; we get the situation described above.

; Code that leads to this situation can look something like:
;
; int a, b[1], c;
; void fn1 ()
; {
;  for (; c; c++)
;    for (a = 0; a; a++)
;      b[c] = 4;
; }
;
; The PHI is an artifact of the register promotion of c.

; Note that we can no longer get the vectorizer to actually see such PHIs,
; because LV now simplifies the loop internally, but the test is still
; useful as a regression test, and in case loop-simplify behavior changes.

@c = external global i32, align 4
@a = external global i32, align 4
@b = external global [1 x i32], align 4

; We can vectorize this loop because we are storing an invariant value into an
; invariant address.

; CHECK: LV: We can vectorize this loop!
; CHECK-LABEL: @test
define void @test() {
entry:
  %a.promoted2 = load i32, ptr @a, align 1
  %c.promoted = load i32, ptr @c, align 1
  br label %for.cond1.preheader

for.cond1.preheader:                              ; preds = %for.cond1.for.inc4_crit_edge, %entry
  %inc54 = phi i32 [ %inc5, %for.cond1.for.inc4_crit_edge ], [ %c.promoted, %entry ]
  %inc.lcssa3 = phi i32 [ %inc.lcssa, %for.cond1.for.inc4_crit_edge ], [ %a.promoted2, %entry ]
  br label %for.body3

for.body3:                                        ; preds = %for.body3, %for.cond1.preheader
  %inc1 = phi i32 [ %inc.lcssa3, %for.cond1.preheader ], [ %inc, %for.body3 ]
  %0 = phi i32 [ poison, %for.cond1.preheader ], [ %inc54, %for.body3 ]
  %idxprom = sext i32 %0 to i64
  %arrayidx = getelementptr inbounds [1 x i32], ptr @b, i64 0, i64 %idxprom
  store i32 4, ptr %arrayidx, align 4
  %inc = add nsw i32 %inc1, 1
  %tobool2 = icmp eq i32 %inc, 0
  br i1 %tobool2, label %for.cond1.for.inc4_crit_edge, label %for.body3

for.cond1.for.inc4_crit_edge:                     ; preds = %for.body3
  %inc.lcssa = phi i32 [ %inc, %for.body3 ]
  %.lcssa = phi i32 [ %inc54, %for.body3 ]
  %inc5 = add nsw i32 %.lcssa, 1
  br label %for.cond1.preheader
}
