; NOTE: Assertions have been autogenerated by utils/update_analyze_test_checks.py
; RUN: opt < %s -scalar-evolution -analyze -enable-new-pm=0 -scalar-evolution-classify-expressions=0 | FileCheck %s
; RUN: opt < %s "-passes=print<scalar-evolution>" -disable-output -scalar-evolution-classify-expressions=0 2>&1 | FileCheck %s

; ScalarEvolution can't compute a trip count because it doesn't know if
; dividing by the stride will have a remainder. This could theoretically
; be teaching it how to use a more elaborate trip count computation.

%struct.FILE = type { i32, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, i8*, %struct._IO_marker*, %struct.FILE*, i32, i32, i64, i16, i8, [1 x i8], i8*, i64, i8*, i8*, i8*, i8*, i64, i32, [20 x i8] }
%struct.SHA_INFO = type { [5 x i32], i32, i32, [16 x i32] }
%struct._IO_marker = type { %struct._IO_marker*, %struct.FILE*, i32 }

@_2E_str = external constant [26 x i8]
@stdin = external global %struct.FILE*
@_2E_str1 = external constant [3 x i8]
@_2E_str12 = external constant [30 x i8]

declare void @sha_init(%struct.SHA_INFO* nocapture) nounwind

declare fastcc void @sha_transform(%struct.SHA_INFO* nocapture) nounwind

declare void @sha_print(%struct.SHA_INFO* nocapture) nounwind

declare i32 @printf(i8* nocapture, ...) nounwind

declare void @sha_final(%struct.SHA_INFO* nocapture) nounwind

declare void @sha_update(%struct.SHA_INFO* nocapture, i8* nocapture, i32) nounwind

declare i64 @fread(i8* noalias nocapture, i64, i64, %struct.FILE* noalias nocapture) nounwind

declare i32 @main(i32, i8** nocapture) nounwind

declare noalias %struct.FILE* @fopen(i8* noalias nocapture, i8* noalias nocapture) nounwind

declare i32 @fclose(%struct.FILE* nocapture) nounwind

declare void @sha_stream(%struct.SHA_INFO* nocapture, %struct.FILE* nocapture) nounwind

define void @sha_stream_bb3_2E_i(%struct.SHA_INFO* %sha_info, i8* %data1, i32, i8** %buffer_addr.0.i.out, i32* %count_addr.0.i.out) nounwind {
; CHECK-LABEL: 'sha_stream_bb3_2E_i'
; CHECK-NEXT:  Determining loop execution counts for: @sha_stream_bb3_2E_i
; CHECK-NEXT:  Loop %bb3.i: backedge-taken count is ((63 + (-1 * (63 smin %0)) + %0) /u 64)
; CHECK-NEXT:  Loop %bb3.i: max backedge-taken count is 33554431
; CHECK-NEXT:  Loop %bb3.i: Predicated backedge-taken count is ((63 + (-1 * (63 smin %0)) + %0) /u 64)
; CHECK-NEXT:   Predicates:
; CHECK:       Loop %bb3.i: Trip multiple is 1
;
newFuncRoot:
  br label %bb3.i

sha_update.exit.exitStub:                         ; preds = %bb3.i
  store i8* %buffer_addr.0.i, i8** %buffer_addr.0.i.out
  store i32 %count_addr.0.i, i32* %count_addr.0.i.out
  ret void

bb2.i:                                            ; preds = %bb3.i
  %1 = getelementptr %struct.SHA_INFO, %struct.SHA_INFO* %sha_info, i64 0, i32 3
  %2 = bitcast [16 x i32]* %1 to i8*
  call void @llvm.memcpy.p0i8.p0i8.i64(i8* %2, i8* %buffer_addr.0.i, i64 64, i1 false)
  %3 = getelementptr %struct.SHA_INFO, %struct.SHA_INFO* %sha_info, i64 0, i32 3, i64 0
  %4 = bitcast i32* %3 to i8*
  br label %codeRepl

codeRepl:                                         ; preds = %bb2.i
  call void @sha_stream_bb3_2E_i_bb1_2E_i_2E_i(i8* %4)
  br label %byte_reverse.exit.i

byte_reverse.exit.i:                              ; preds = %codeRepl
  call fastcc void @sha_transform(%struct.SHA_INFO* %sha_info) nounwind
  %5 = getelementptr i8, i8* %buffer_addr.0.i, i64 64
  %6 = add i32 %count_addr.0.i, -64
  br label %bb3.i

bb3.i:                                            ; preds = %byte_reverse.exit.i, %newFuncRoot
  %buffer_addr.0.i = phi i8* [ %data1, %newFuncRoot ], [ %5, %byte_reverse.exit.i ]
  %count_addr.0.i = phi i32 [ %0, %newFuncRoot ], [ %6, %byte_reverse.exit.i ]
  %7 = icmp sgt i32 %count_addr.0.i, 63
  br i1 %7, label %bb2.i, label %sha_update.exit.exitStub
}

declare void @sha_stream_bb3_2E_i_bb1_2E_i_2E_i(i8*) nounwind

declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i1) nounwind

declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture, i64, i1) nounwind

