; RUN: opt < %s -bounds-checking -S | FileCheck %s
target datalayout = "e-p:64:64:64-p1:16:16:16-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"

@.str = private constant [8 x i8] c"abcdefg\00"   ; <[8 x i8]*>

@.str_as1 = private addrspace(1) constant [8 x i8] c"abcdefg\00"   ; <[8 x i8] addrspace(1)*>


declare noalias i8* @malloc(i64) nounwind
declare noalias i8* @calloc(i64, i64) nounwind
declare noalias i8* @realloc(i8* nocapture, i64) nounwind

; CHECK: @f1
define void @f1() nounwind {
  %1 = tail call i8* @malloc(i64 32)
  %2 = bitcast i8* %1 to i32*
  %idx = getelementptr inbounds i32, i32* %2, i64 2
; CHECK-NOT: trap
  store i32 3, i32* %idx, align 4
  ret void
}

; CHECK: @f2
define void @f2() nounwind {
  %1 = tail call i8* @malloc(i64 32)
  %2 = bitcast i8* %1 to i32*
  %idx = getelementptr inbounds i32, i32* %2, i64 8
; CHECK: trap
  store i32 3, i32* %idx, align 4
  ret void
}

; CHECK: @f3
define void @f3(i64 %x) nounwind {
  %1 = tail call i8* @calloc(i64 4, i64 %x)
  %2 = bitcast i8* %1 to i32*
  %idx = getelementptr inbounds i32, i32* %2, i64 8
; CHECK: mul i64 4, %
; CHECK: sub i64 {{.*}}, 32
; CHECK-NEXT: icmp ult i64 {{.*}}, 32
; CHECK-NEXT: icmp ult i64 {{.*}}, 4
; CHECK-NEXT: or i1
; CHECK: trap
  store i32 3, i32* %idx, align 4
  ret void
}

; CHECK: @f4
define void @f4(i64 %x) nounwind {
  %1 = tail call i8* @realloc(i8* null, i64 %x) nounwind
  %2 = bitcast i8* %1 to i32*
  %idx = getelementptr inbounds i32, i32* %2, i64 8
; CHECK: trap
  %3 = load i32, i32* %idx, align 4
  ret void
}

; CHECK: @f5
define void @f5(i64 %x) nounwind {
  %idx = getelementptr inbounds [8 x i8], [8 x i8]* @.str, i64 0, i64 %x
; CHECK: trap
  %1 = load i8, i8* %idx, align 4
  ret void
}

define void @f5_as1(i64 %x) nounwind {
; CHECK: @f5_as1
  %idx = getelementptr inbounds [8 x i8], [8 x i8] addrspace(1)* @.str_as1, i64 0, i64 %x
  ; CHECK: sub i16
  ; CHECK: icmp ult i16
; CHECK: trap
  %1 = load i8, i8 addrspace(1)* %idx, align 4
  ret void
}

; CHECK: @f6
define void @f6(i64 %x) nounwind {
  %1 = alloca i128
; CHECK-NOT: trap
  %2 = load i128, i128* %1, align 4
  ret void
}

; CHECK: @f7
define void @f7(i64 %x) nounwind {
  %1 = alloca i128, i64 %x
; CHECK: mul i64 16,
; CHECK: trap
  %2 = load i128, i128* %1, align 4
  ret void
}

; CHECK: @f8
define void @f8() nounwind {
  %1 = alloca i128
  %2 = alloca i128
  %3 = select i1 undef, i128* %1, i128* %2
; CHECK-NOT: trap
  %4 = load i128, i128* %3, align 4
  ret void
}

; CHECK: @f9
define void @f9(i128* %arg) nounwind {
  %1 = alloca i128
  %2 = select i1 undef, i128* %arg, i128* %1
; CHECK-NOT: trap
  %3 = load i128, i128* %2, align 4
  ret void
}

; CHECK: @f10
define void @f10(i64 %x, i64 %y) nounwind {
  %1 = alloca i128, i64 %x
  %2 = alloca i128, i64 %y
  %3 = select i1 undef, i128* %1, i128* %2
; CHECK: select
; CHECK: select
; CHECK: trap
  %4 = load i128, i128* %3, align 4
  ret void
}

; CHECK: @f11
define void @f11(i128* byval %x) nounwind {
  %1 = bitcast i128* %x to i8*
  %2 = getelementptr inbounds i8, i8* %1, i64 16
; CHECK: br label
  %3 = load i8, i8* %2, align 4
  ret void
}

; CHECK: @f11_as1
define void @f11_as1(i128 addrspace(1)* byval %x) nounwind {
  %1 = bitcast i128 addrspace(1)* %x to i8 addrspace(1)*
  %2 = getelementptr inbounds i8, i8 addrspace(1)* %1, i16 16
; CHECK: br label
  %3 = load i8, i8 addrspace(1)* %2, align 4
  ret void
}

; CHECK: @f12
define i64 @f12(i64 %x, i64 %y) nounwind {
  %1 = tail call i8* @calloc(i64 1, i64 %x)
; CHECK: mul i64 %y, 8
  %2 = bitcast i8* %1 to i64*
  %3 = getelementptr inbounds i64, i64* %2, i64 %y
  %4 = load i64, i64* %3, align 8
  ret i64 %4
}

; PR17402
; CHECK-LABEL: @f13
define void @f13() nounwind {
entry:
  br label %alive

dead:
  ; Self-refential GEPs can occur in dead code.
  %incdec.ptr = getelementptr inbounds i32, i32* %incdec.ptr, i64 1
  ; CHECK: %incdec.ptr = getelementptr inbounds i32, i32* %incdec.ptr
  %l = load i32, i32* %incdec.ptr
  br label %alive

alive:
  ret void
}
