; RUN: opt < %s -passes=bounds-checking -S | FileCheck %s
@array = internal global [1819 x i16] zeroinitializer, section ".bss,bss"
@offsets = external dso_local global [10 x i16]

; CHECK-LABEL: @test
define dso_local void @test() {
bb1:
  br label %bb19

bb20:
  %_tmp819 = load i16, i16* null
; CHECK: br {{.*}} %trap
  %_tmp820 = sub nsw i16 9, %_tmp819
  %_tmp821 = sext i16 %_tmp820 to i64
  %_tmp822 = getelementptr [10 x i16], [10 x i16]* @offsets, i16 0, i64 %_tmp821
  %_tmp823 = load i16, i16* %_tmp822
  br label %bb33

bb34:
  %_tmp907 = zext i16 %i__7.107.0 to i64
  %_tmp908 = getelementptr [1819 x i16], [1819 x i16]* @array, i16 0, i64 %_tmp907
  store i16 0, i16* %_tmp908
; CHECK: br {{.*}} %trap
  %_tmp910 = add i16 %i__7.107.0, 1
  br label %bb33

bb33:
  %i__7.107.0 = phi i16 [ undef, %bb20 ], [ %_tmp910, %bb34 ]
  %_tmp913 = add i16 %_tmp823, 191
  %_tmp914 = icmp ult i16 %i__7.107.0, %_tmp913
  br i1 %_tmp914, label %bb34, label %bb19

bb19:
  %_tmp976 = icmp slt i16 0, 10
  br i1 %_tmp976, label %bb20, label %bb39

bb39:
  ret void
}

@e = dso_local local_unnamed_addr global [1 x i16] zeroinitializer, align 1

; CHECK-LABEL: @test2
define dso_local void @test2() local_unnamed_addr {
entry:
  br label %while.cond1.preheader

while.cond1.preheader:
  %0 = phi i16 [ undef, %entry ], [ %inc, %while.end ]
  %1 = load i16, i16* undef, align 1
; CHECK: br {{.*}} %trap
  br label %while.end

while.end:
  %inc = add nsw i16 %0, 1
  %arrayidx = getelementptr inbounds [1 x i16], [1 x i16]* @e, i16 0, i16
 %0
  %2 = load i16, i16* %arrayidx, align 1
; CHECK: or i1
; CHECK-NEXT: br {{.*}} %trap
  br i1 false, label %while.end6, label %while.cond1.preheader

while.end6:
  ret void
}
