; RUN: opt < %s -disable-output "-passes=print<da>" -aa-pipeline=basic-aa 2>&1
;; Check this doesn't crash.
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

;; struct s {
;;   int A[10][10];
;;   int C[10][10][10]; 
;; } S;

;; void dep_constraint_crash_test(int k,int N) {
;;   for( int i=0;i<N;i++)
;;     for( int j=0;j<N;j++)
;;       S.A[0][0] = S.C[0][0][k];
;; }


%struct.s = type { [10 x [10 x i32]], [10 x [10 x [10 x i32]]] }

@S = common global %struct.s zeroinitializer

define void @dep_constraint_crash_test(i32 %k, i32 %N) {
entry:
  %cmp12 = icmp sgt i32 %N, 0
  br i1 %cmp12, label %for.cond1.preheader.lr.ph, label %for.end6

for.cond1.preheader.lr.ph:                        
  %idxprom = sext i32 %k to i64
  %arrayidx = getelementptr inbounds %struct.s, ptr @S, i64 0, i32 1, i64 0, i64 0, i64 %idxprom
  br label %for.body3.preheader

for.body3.preheader:                              
  %i.013 = phi i32 [ 0, %for.cond1.preheader.lr.ph ], [ %inc5, %for.inc4 ]
  br label %for.body3

for.body3:                                        
  %j.011 = phi i32 [ %inc, %for.body3 ], [ 0, %for.body3.preheader ]
  %0 = load i32, ptr %arrayidx
  store i32 %0, ptr @S
  %inc = add nuw nsw i32 %j.011, 1
  %exitcond = icmp eq i32 %inc, %N
  br i1 %exitcond, label %for.inc4, label %for.body3

for.inc4:                                         
  %inc5 = add nuw nsw i32 %i.013, 1
  %exitcond14 = icmp eq i32 %inc5, %N
  br i1 %exitcond14, label %for.end6, label %for.body3.preheader

for.end6:                                         
  ret void
}
