; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; RUN: opt -p indvars -S %s | FileCheck %s
; RUN: opt -p indvars  -data-layout='n32:64' -S %s | FileCheck --check-prefix=N32 %s

declare i1 @cond()

define i64 @test_ptr_compare_guard(ptr %start, ptr %end) {
; CHECK-LABEL: define i64 @test_ptr_compare_guard(
; CHECK-SAME: ptr [[START:%.*]], ptr [[END:%.*]]) {
; CHECK-NEXT:  [[ENTRY:.*]]:
; CHECK-NEXT:    [[C_0:%.*]] = icmp eq ptr [[START]], [[END]]
; CHECK-NEXT:    br i1 [[C_0]], label %[[EXIT:.*]], label %[[LOOP_HEADER_PREHEADER:.*]]
; CHECK:       [[LOOP_HEADER_PREHEADER]]:
; CHECK-NEXT:    br label %[[LOOP_HEADER:.*]]
; CHECK:       [[LOOP_HEADER]]:
; CHECK-NEXT:    [[PTR_IV:%.*]] = phi ptr [ [[PTR_IV_NEXT:%.*]], %[[LOOP_LATCH:.*]] ], [ [[START]], %[[LOOP_HEADER_PREHEADER]] ]
; CHECK-NEXT:    [[I64_IV:%.*]] = phi i64 [ [[I64_IV_NEXT:%.*]], %[[LOOP_LATCH]] ], [ 0, %[[LOOP_HEADER_PREHEADER]] ]
; CHECK-NEXT:    [[C_1:%.*]] = call i1 @cond()
; CHECK-NEXT:    br i1 [[C_1]], label %[[LOOP_LATCH]], label %[[EXIT_LOOPEXIT:.*]]
; CHECK:       [[LOOP_LATCH]]:
; CHECK-NEXT:    [[PTR_IV_NEXT]] = getelementptr i8, ptr [[PTR_IV]], i64 1
; CHECK-NEXT:    [[I64_IV_NEXT]] = add nuw i64 [[I64_IV]], 1
; CHECK-NEXT:    [[C_2:%.*]] = icmp eq ptr [[PTR_IV_NEXT]], [[END]]
; CHECK-NEXT:    br i1 [[C_2]], label %[[EXIT_LOOPEXIT]], label %[[LOOP_HEADER]]
; CHECK:       [[EXIT_LOOPEXIT]]:
; CHECK-NEXT:    [[RES_PH:%.*]] = phi i64 [ 0, %[[LOOP_HEADER]] ], [ [[I64_IV]], %[[LOOP_LATCH]] ]
; CHECK-NEXT:    br label %[[EXIT]]
; CHECK:       [[EXIT]]:
; CHECK-NEXT:    [[RES:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ [[RES_PH]], %[[EXIT_LOOPEXIT]] ]
; CHECK-NEXT:    ret i64 [[RES]]
;
; N32-LABEL: define i64 @test_ptr_compare_guard(
; N32-SAME: ptr [[START:%.*]], ptr [[END:%.*]]) {
; N32-NEXT:  [[ENTRY:.*]]:
; N32-NEXT:    [[START2:%.*]] = ptrtoaddr ptr [[START]] to i64
; N32-NEXT:    [[END1:%.*]] = ptrtoaddr ptr [[END]] to i64
; N32-NEXT:    [[C_0:%.*]] = icmp eq ptr [[START]], [[END]]
; N32-NEXT:    br i1 [[C_0]], label %[[EXIT:.*]], label %[[LOOP_HEADER_PREHEADER:.*]]
; N32:       [[LOOP_HEADER_PREHEADER]]:
; N32-NEXT:    [[TMP0:%.*]] = add i64 [[END1]], -1
; N32-NEXT:    [[TMP1:%.*]] = sub i64 [[TMP0]], [[START2]]
; N32-NEXT:    br label %[[LOOP_HEADER:.*]]
; N32:       [[LOOP_HEADER]]:
; N32-NEXT:    [[PTR_IV:%.*]] = phi ptr [ [[PTR_IV_NEXT:%.*]], %[[LOOP_LATCH:.*]] ], [ [[START]], %[[LOOP_HEADER_PREHEADER]] ]
; N32-NEXT:    [[C_1:%.*]] = call i1 @cond()
; N32-NEXT:    br i1 [[C_1]], label %[[LOOP_LATCH]], label %[[EXIT_LOOPEXIT:.*]]
; N32:       [[LOOP_LATCH]]:
; N32-NEXT:    [[PTR_IV_NEXT]] = getelementptr i8, ptr [[PTR_IV]], i64 1
; N32-NEXT:    [[C_2:%.*]] = icmp eq ptr [[PTR_IV_NEXT]], [[END]]
; N32-NEXT:    br i1 [[C_2]], label %[[EXIT_LOOPEXIT]], label %[[LOOP_HEADER]]
; N32:       [[EXIT_LOOPEXIT]]:
; N32-NEXT:    [[RES_PH:%.*]] = phi i64 [ 0, %[[LOOP_HEADER]] ], [ [[TMP1]], %[[LOOP_LATCH]] ]
; N32-NEXT:    br label %[[EXIT]]
; N32:       [[EXIT]]:
; N32-NEXT:    [[RES:%.*]] = phi i64 [ 0, %[[ENTRY]] ], [ [[RES_PH]], %[[EXIT_LOOPEXIT]] ]
; N32-NEXT:    ret i64 [[RES]]
;
entry:
  %c.0 = icmp eq ptr %start, %end
  br i1 %c.0, label %exit, label %loop.header

loop.header:
  %ptr.iv = phi ptr [ %start, %entry ], [ %ptr.iv.next, %loop.latch ]
  %i64.iv = phi i64 [ 0, %entry ], [ %i64.iv.next, %loop.latch ]
  %c.1 = call i1 @cond()
  br i1 %c.1, label %loop.latch, label %exit

loop.latch:
  %ptr.iv.next = getelementptr i8, ptr %ptr.iv, i64 1
  %i64.iv.next = add i64 %i64.iv, 1
  %c.2 = icmp eq ptr %ptr.iv.next, %end
  br i1 %c.2, label %exit, label %loop.header

exit:
  %res = phi i64 [ 0, %entry ], [ %i64.iv, %loop.latch ], [ 0, %loop.header ]
  ret i64 %res
}

define void @test_sub_cmp(ptr align 8 %start, ptr %end) {
; CHECK-LABEL: define void @test_sub_cmp(
; CHECK-SAME: ptr align 8 [[START:%.*]], ptr [[END:%.*]]) {
; CHECK-NEXT:  [[ENTRY:.*:]]
; CHECK-NEXT:    [[START_INT:%.*]] = ptrtoint ptr [[START]] to i64
; CHECK-NEXT:    [[END_INT:%.*]] = ptrtoint ptr [[END]] to i64
; CHECK-NEXT:    [[PTR_DIFF:%.*]] = sub i64 [[START_INT]], [[END_INT]]
; CHECK-NEXT:    [[CMP_ENTRY:%.*]] = icmp eq ptr [[START]], [[END]]
; CHECK-NEXT:    br i1 [[CMP_ENTRY]], label %[[EXIT:.*]], label %[[LOOP_HEADER_PREHEADER:.*]]
; CHECK:       [[LOOP_HEADER_PREHEADER]]:
; CHECK-NEXT:    br label %[[LOOP_HEADER:.*]]
; CHECK:       [[LOOP_HEADER]]:
; CHECK-NEXT:    [[IV:%.*]] = phi i64 [ [[IV_NEXT:%.*]], %[[LOOP_LATCH:.*]] ], [ 0, %[[LOOP_HEADER_PREHEADER]] ]
; CHECK-NEXT:    [[C_1:%.*]] = call i1 @cond()
; CHECK-NEXT:    br i1 [[C_1]], label %[[EXIT_EARLY:.*]], label %[[LOOP_LATCH]]
; CHECK:       [[LOOP_LATCH]]:
; CHECK-NEXT:    [[IV_NEXT]] = add nuw i64 [[IV]], 1
; CHECK-NEXT:    [[CMP_LATCH:%.*]] = icmp ult i64 [[IV_NEXT]], [[PTR_DIFF]]
; CHECK-NEXT:    br i1 [[CMP_LATCH]], label %[[LOOP_HEADER]], label %[[EXIT_LOOPEXIT:.*]]
; CHECK:       [[EXIT_EARLY]]:
; CHECK-NEXT:    br label %[[EXIT]]
; CHECK:       [[EXIT_LOOPEXIT]]:
; CHECK-NEXT:    br label %[[EXIT]]
; CHECK:       [[EXIT]]:
; CHECK-NEXT:    ret void
;
; N32-LABEL: define void @test_sub_cmp(
; N32-SAME: ptr align 8 [[START:%.*]], ptr [[END:%.*]]) {
; N32-NEXT:  [[ENTRY:.*:]]
; N32-NEXT:    [[START_INT:%.*]] = ptrtoint ptr [[START]] to i64
; N32-NEXT:    [[END_INT:%.*]] = ptrtoint ptr [[END]] to i64
; N32-NEXT:    [[PTR_DIFF:%.*]] = sub i64 [[START_INT]], [[END_INT]]
; N32-NEXT:    [[CMP_ENTRY:%.*]] = icmp eq ptr [[START]], [[END]]
; N32-NEXT:    br i1 [[CMP_ENTRY]], label %[[EXIT:.*]], label %[[LOOP_HEADER_PREHEADER:.*]]
; N32:       [[LOOP_HEADER_PREHEADER]]:
; N32-NEXT:    br label %[[LOOP_HEADER:.*]]
; N32:       [[LOOP_HEADER]]:
; N32-NEXT:    [[IV:%.*]] = phi i64 [ [[IV_NEXT:%.*]], %[[LOOP_LATCH:.*]] ], [ 0, %[[LOOP_HEADER_PREHEADER]] ]
; N32-NEXT:    [[C_1:%.*]] = call i1 @cond()
; N32-NEXT:    br i1 [[C_1]], label %[[EXIT_EARLY:.*]], label %[[LOOP_LATCH]]
; N32:       [[LOOP_LATCH]]:
; N32-NEXT:    [[IV_NEXT]] = add nuw i64 [[IV]], 1
; N32-NEXT:    [[EXITCOND:%.*]] = icmp ne i64 [[IV_NEXT]], [[PTR_DIFF]]
; N32-NEXT:    br i1 [[EXITCOND]], label %[[LOOP_HEADER]], label %[[EXIT_LOOPEXIT:.*]]
; N32:       [[EXIT_EARLY]]:
; N32-NEXT:    br label %[[EXIT]]
; N32:       [[EXIT_LOOPEXIT]]:
; N32-NEXT:    br label %[[EXIT]]
; N32:       [[EXIT]]:
; N32-NEXT:    ret void
;
entry:
  %start.int = ptrtoint ptr %start to i64
  %end.int = ptrtoint ptr %end to i64
  %ptr.diff = sub i64 %start.int, %end.int
  %cmp.entry = icmp eq ptr %start, %end
  br i1 %cmp.entry, label %exit, label %loop.header

loop.header:
  %iv = phi i64 [ 0, %entry ], [ %iv.next, %loop.latch ]
  %c.1 = call i1 @cond()
  br i1 %c.1, label %exit.early, label %loop.latch

loop.latch:
  %iv.next = add i64 %iv, 1
  %cmp.latch = icmp ult i64 %iv.next, %ptr.diff
  br i1 %cmp.latch, label %loop.header, label %exit

exit.early:
  br label %exit

exit:
  ret void
}


define void @test_ptr_diff_with_assume(ptr align 8 %start, ptr align 8 %end, ptr %P) {
; CHECK-LABEL: define void @test_ptr_diff_with_assume(
; CHECK-SAME: ptr align 8 [[START:%.*]], ptr align 8 [[END:%.*]], ptr [[P:%.*]]) {
; CHECK-NEXT:  [[ENTRY:.*:]]
; CHECK-NEXT:    [[START_INT:%.*]] = ptrtoint ptr [[START]] to i64
; CHECK-NEXT:    [[END_INT:%.*]] = ptrtoint ptr [[END]] to i64
; CHECK-NEXT:    [[PTR_DIFF:%.*]] = sub i64 [[START_INT]], [[END_INT]]
; CHECK-NEXT:    [[DIFF_CMP:%.*]] = icmp ult i64 [[PTR_DIFF]], 2
; CHECK-NEXT:    call void @llvm.assume(i1 [[DIFF_CMP]])
; CHECK-NEXT:    [[COMPUTED_END:%.*]] = getelementptr i8, ptr [[START]], i64 [[PTR_DIFF]]
; CHECK-NEXT:    [[ENTRY_CMP:%.*]] = icmp eq ptr [[START]], [[END]]
; CHECK-NEXT:    br i1 [[ENTRY_CMP]], label %[[EXIT:.*]], label %[[LOOP_BODY_PREHEADER:.*]]
; CHECK:       [[LOOP_BODY_PREHEADER]]:
; CHECK-NEXT:    br label %[[LOOP_BODY:.*]]
; CHECK:       [[LOOP_BODY]]:
; CHECK-NEXT:    [[IV:%.*]] = phi ptr [ [[IV_NEXT:%.*]], %[[LOOP_BODY]] ], [ [[START]], %[[LOOP_BODY_PREHEADER]] ]
; CHECK-NEXT:    [[TMP0:%.*]] = call i1 @cond()
; CHECK-NEXT:    [[IV_NEXT]] = getelementptr i8, ptr [[IV]], i64 1
; CHECK-NEXT:    [[LOOP_CMP:%.*]] = icmp eq ptr [[IV_NEXT]], [[COMPUTED_END]]
; CHECK-NEXT:    br i1 [[LOOP_CMP]], label %[[EXIT_LOOPEXIT:.*]], label %[[LOOP_BODY]]
; CHECK:       [[EXIT_LOOPEXIT]]:
; CHECK-NEXT:    br label %[[EXIT]]
; CHECK:       [[EXIT]]:
; CHECK-NEXT:    ret void
;
; N32-LABEL: define void @test_ptr_diff_with_assume(
; N32-SAME: ptr align 8 [[START:%.*]], ptr align 8 [[END:%.*]], ptr [[P:%.*]]) {
; N32-NEXT:  [[ENTRY:.*:]]
; N32-NEXT:    [[START_INT:%.*]] = ptrtoint ptr [[START]] to i64
; N32-NEXT:    [[END_INT:%.*]] = ptrtoint ptr [[END]] to i64
; N32-NEXT:    [[PTR_DIFF:%.*]] = sub i64 [[START_INT]], [[END_INT]]
; N32-NEXT:    [[DIFF_CMP:%.*]] = icmp ult i64 [[PTR_DIFF]], 2
; N32-NEXT:    call void @llvm.assume(i1 [[DIFF_CMP]])
; N32-NEXT:    [[COMPUTED_END:%.*]] = getelementptr i8, ptr [[START]], i64 [[PTR_DIFF]]
; N32-NEXT:    [[ENTRY_CMP:%.*]] = icmp eq ptr [[START]], [[END]]
; N32-NEXT:    br i1 [[ENTRY_CMP]], label %[[EXIT:.*]], label %[[LOOP_BODY_PREHEADER:.*]]
; N32:       [[LOOP_BODY_PREHEADER]]:
; N32-NEXT:    br label %[[LOOP_BODY:.*]]
; N32:       [[LOOP_BODY]]:
; N32-NEXT:    [[IV:%.*]] = phi ptr [ [[IV_NEXT:%.*]], %[[LOOP_BODY]] ], [ [[START]], %[[LOOP_BODY_PREHEADER]] ]
; N32-NEXT:    [[TMP0:%.*]] = call i1 @cond()
; N32-NEXT:    [[IV_NEXT]] = getelementptr i8, ptr [[IV]], i64 1
; N32-NEXT:    [[LOOP_CMP:%.*]] = icmp eq ptr [[IV_NEXT]], [[COMPUTED_END]]
; N32-NEXT:    br i1 [[LOOP_CMP]], label %[[EXIT_LOOPEXIT:.*]], label %[[LOOP_BODY]]
; N32:       [[EXIT_LOOPEXIT]]:
; N32-NEXT:    br label %[[EXIT]]
; N32:       [[EXIT]]:
; N32-NEXT:    ret void
;
entry:
  %start.int = ptrtoint ptr %start to i64
  %end.int = ptrtoint ptr %end to i64
  %ptr.diff = sub i64 %start.int, %end.int
  %diff.cmp = icmp ult i64 %ptr.diff, 2
  call void @llvm.assume(i1 %diff.cmp)
  %computed.end = getelementptr i8, ptr %start, i64 %ptr.diff
  %entry.cmp = icmp eq ptr %start, %end
  br i1 %entry.cmp, label %exit, label %loop.body

loop.body:
  %iv = phi ptr [ %start, %entry ], [ %iv.next, %loop.body ]
  call i1 @cond()
  %iv.next = getelementptr i8, ptr %iv, i64 1
  %loop.cmp = icmp eq ptr %iv.next, %computed.end
  br i1 %loop.cmp, label %exit, label %loop.body

exit:
  ret void
}
