; Test -sanitizer-coverage-trace-geps=1
; RUN: opt < %s -sancov -sanitizer-coverage-level=1 -sanitizer-coverage-trace-geps=1  -S | FileCheck %s
; RUN: opt < %s -passes='module(sancov-module)' -sanitizer-coverage-level=1 -sanitizer-coverage-trace-geps=1  -S | FileCheck %s

target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

define void @gep_1(i32* nocapture %a, i32 %i)  {
entry:
  %idxprom = sext i32 %i to i64
  %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom
  store i32 0, i32* %arrayidx, align 4
  ret void
}

; CHECK-LABEL: define void @gep_1(i32* nocapture %a, i32 %i)
; CHECK:   call void @__sanitizer_cov_trace_gep(i64 %idxprom)
; CHECK: ret void


define void @gep_2([1000 x i32]* nocapture %a, i32 %i, i32 %j) {
entry:
  %idxprom = sext i32 %j to i64
  %idxprom1 = sext i32 %i to i64
  %arrayidx2 = getelementptr inbounds [1000 x i32], [1000 x i32]* %a, i64 %idxprom1, i64 %idxprom
  store i32 0, i32* %arrayidx2, align 4
  ret void
}

; CHECK-LABEL: define void @gep_2([1000 x i32]* nocapture %a, i32 %i, i32 %j)
; CHECK: call void @__sanitizer_cov_trace_gep(i64 %idxprom1)
; CHECK: call void @__sanitizer_cov_trace_gep(i64 %idxprom)
; CHECK: ret void

; Just make sure we don't insturment this one and don't crash
define void @gep_3(<2 x i8*> %a, i32 %i, i32 %j) {
entry:
  %0 = getelementptr i8, <2 x i8*> %a, <2 x i64> <i64 8, i64 8>
  ret void
}

