; RUN: opt < %s -loop-reduce -S
; PR11950: isHighCostExpansion crashes on ConstExpr
;
; The crash happened during IVChain analysis (CollectChains). We don't
; really care how LSR decides to transform this loop, so we don't
; check it. As long as the analysis doesn't crash we're ok.
target datalayout = "e-p:64:64:64-n32:64"

%struct.this_structure_s.0.5 = type { [6144 x [8 x i32]], [6144 x [8 x i32]], [6147 x [4 x i32]], [8 x i32], [2 x ptr], [2 x ptr], [6144 x i8], [6144 x i32], [6144 x i32], [4 x [4 x i8]] }

define internal fastcc void @someFunction(ptr nocapture %scratch, i32 %stage, i32 %cbSize) nounwind {
entry:
  %0 = getelementptr inbounds %struct.this_structure_s.0.5, ptr %scratch, i32 0, i32 4, i32 %stage
  %1 = load ptr, ptr %0, align 4
  %2 = getelementptr inbounds %struct.this_structure_s.0.5, ptr %scratch, i32 0, i32 5, i32 %stage
  %3 = load ptr, ptr %2, align 4
  %4 = getelementptr inbounds %struct.this_structure_s.0.5, ptr %scratch, i32 0, i32 2, i32 0, i32 0
  %tmp11 = shl i32 %stage, 1
  %tmp1325 = or i32 %tmp11, 1
  br label %__label_D_1608

__label_D_1608:                                   ; preds = %__label_D_1608, %entry
  %i.12 = phi i32 [ 0, %entry ], [ %10, %__label_D_1608 ]
  %tmp = shl i32 %i.12, 2
  %lvar_g.13 = getelementptr i32, ptr %4, i32 %tmp
  %tmp626 = or i32 %tmp, 1
  %scevgep = getelementptr i32, ptr %4, i32 %tmp626
  %tmp727 = or i32 %tmp, 2
  %scevgep8 = getelementptr i32, ptr %4, i32 %tmp727
  %tmp928 = or i32 %tmp, 3
  %scevgep10 = getelementptr i32, ptr %4, i32 %tmp928
  %scevgep12 = getelementptr %struct.this_structure_s.0.5, ptr %scratch, i32 0, i32 9, i32 %tmp11, i32 %i.12
  %scevgep14 = getelementptr %struct.this_structure_s.0.5, ptr %scratch, i32 0, i32 9, i32 %tmp1325, i32 %i.12
  %5 = load i8, ptr %scevgep12, align 1
  %6 = sext i8 %5 to i32
  %7 = load i8, ptr %scevgep14, align 1
  %8 = sext i8 %7 to i32
  store i32 0, ptr %lvar_g.13, align 4
  store i32 %8, ptr %scevgep, align 4
  store i32 %6, ptr %scevgep8, align 4
  %9 = add nsw i32 %8, %6
  store i32 %9, ptr %scevgep10, align 4
  %10 = add nsw i32 %i.12, 1
  %exitcond = icmp eq i32 %10, 3
  br i1 %exitcond, label %return, label %__label_D_1608

return:                                           ; preds = %__label_D_1608
  ret void
}
