; RUN: opt -mcpu=cyclone -mtriple=arm64-apple-ios -loop-data-prefetch \
; RUN:     -pass-remarks=loop-data-prefetch -S -max-prefetch-iters-ahead=100 \
; RUN:     -pass-remarks-with-hotness \
; RUN:     < %s 2>&1 | FileCheck %s
; RUN: opt -mcpu=cyclone -mtriple=arm64-apple-ios -passes=loop-data-prefetch \
; RUN:     -pass-remarks=loop-data-prefetch -S -max-prefetch-iters-ahead=100 \
; RUN:     -pass-remarks-with-hotness \
; RUN:     < %s 2>&1 | FileCheck %s

; ModuleID = '/tmp/s.c'
source_filename = "/tmp/s.c"
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
target triple = "arm64-apple-ios5.0.0"

;   1	struct MyStruct {
;   2	  int field;
;   3	  char kk[2044];
;   4	} *my_struct;
;   5
;   6	int f(struct MyStruct *p, int N) {
;   7	  int total = 0;
;   8	  for (int i = 0; i < N; i++) {
;   9	    total += my_struct[i].field;
;  10	  }
;  11	  return total;
;  12	}

; CHECK: remark: /tmp/s.c:9:27: prefetched memory access (hotness: 600)

%struct.MyStruct = type { i32, [2044 x i8] }

@my_struct = common global %struct.MyStruct* null, align 8

define i32 @f(%struct.MyStruct* nocapture readnone %p, i32 %N) !dbg !6 !prof !21 {
entry:
  %cmp6 = icmp sgt i32 %N, 0, !dbg !8
  br i1 %cmp6, label %for.body.lr.ph, label %for.cond.cleanup, !dbg !9, !prof !22

for.body.lr.ph:                                   ; preds = %entry
  %0 = load %struct.MyStruct*, %struct.MyStruct** @my_struct, align 8, !dbg !10, !tbaa !11
  br label %for.body, !dbg !9

for.cond.cleanup:                                 ; preds = %for.body, %entry
  %total.0.lcssa = phi i32 [ 0, %entry ], [ %add, %for.body ]
  ret i32 %total.0.lcssa, !dbg !15

for.body:                                         ; preds = %for.body, %for.body.lr.ph
  %indvars.iv = phi i64 [ 0, %for.body.lr.ph ], [ %indvars.iv.next, %for.body ]
  %total.07 = phi i32 [ 0, %for.body.lr.ph ], [ %add, %for.body ]
  %field = getelementptr inbounds %struct.MyStruct, %struct.MyStruct* %0, i64 %indvars.iv, i32 0, !dbg !16
  %1 = load i32, i32* %field, align 4, !dbg !16, !tbaa !17
  %add = add nsw i32 %1, %total.07, !dbg !20
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1, !dbg !9
  %lftr.wideiv = trunc i64 %indvars.iv.next to i32, !dbg !9
  %exitcond = icmp eq i32 %lftr.wideiv, %N, !dbg !9
  br i1 %exitcond, label %for.cond.cleanup, label %for.body, !dbg !9, !prof !23
}

!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!3, !4}
!llvm.ident = !{!5}

!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 3.9.0", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !2)
!1 = !DIFile(filename: "/tmp/s.c", directory: "/tmp")
!2 = !{}
!3 = !{i32 2, !"Debug Info Version", i32 3}
!4 = !{i32 1, !"PIC Level", i32 2}
!5 = !{!"clang version 3.9.0"}
!6 = distinct !DISubprogram(name: "f", scope: !1, file: !1, line: 6, type: !7, isLocal: false, isDefinition: true, scopeLine: 6, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
!7 = !DISubroutineType(types: !2)
!8 = !DILocation(line: 8, column: 21, scope: !6)
!9 = !DILocation(line: 8, column: 3, scope: !6)
!10 = !DILocation(line: 9, column: 14, scope: !6)
!11 = !{!12, !12, i64 0}
!12 = !{!"any pointer", !13, i64 0}
!13 = !{!"omnipotent char", !14, i64 0}
!14 = !{!"Simple C/C++ TBAA"}
!15 = !DILocation(line: 11, column: 3, scope: !6)
!16 = !DILocation(line: 9, column: 27, scope: !6)
!17 = !{!18, !19, i64 0}
!18 = !{!"MyStruct", !19, i64 0, !13, i64 4}
!19 = !{!"int", !13, i64 0}
!20 = !DILocation(line: 9, column: 11, scope: !6)
!21 = !{!"function_entry_count", i64 6}
!22 = !{!"branch_weights", i32 99, i32 1}
!23 = !{!"branch_weights", i32 1, i32 99}
