brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · d146b8a Raw
66 lines · plain
1; RUN: opt < %s -passes=bounds-checking -S | FileCheck %s2@array = internal global [1819 x i16] zeroinitializer, section ".bss,bss"3@offsets = external dso_local global [10 x i16]4 5; CHECK-LABEL: @test6define dso_local void @test() {7bb1:8  br label %bb199 10bb20:11  %_tmp819 = load i16, ptr null12; CHECK: br {{.*}} %trap13  %_tmp820 = sub nsw i16 9, %_tmp81914  %_tmp821 = sext i16 %_tmp820 to i6415  %_tmp822 = getelementptr [10 x i16], ptr @offsets, i16 0, i64 %_tmp82116  %_tmp823 = load i16, ptr %_tmp82217  br label %bb3318 19bb34:20  %_tmp907 = zext i16 %i__7.107.0 to i6421  %_tmp908 = getelementptr [1819 x i16], ptr @array, i16 0, i64 %_tmp90722  store i16 0, ptr %_tmp90823; CHECK: br {{.*}} %trap24  %_tmp910 = add i16 %i__7.107.0, 125  br label %bb3326 27bb33:28  %i__7.107.0 = phi i16 [ undef, %bb20 ], [ %_tmp910, %bb34 ]29  %_tmp913 = add i16 %_tmp823, 19130  %_tmp914 = icmp ult i16 %i__7.107.0, %_tmp91331  br i1 %_tmp914, label %bb34, label %bb1932 33bb19:34  %_tmp976 = icmp slt i16 0, 1035  br i1 %_tmp976, label %bb20, label %bb3936 37bb39:38  ret void39}40 41@e = dso_local local_unnamed_addr global [1 x i16] zeroinitializer, align 142 43; CHECK-LABEL: @test244define dso_local void @test2() local_unnamed_addr {45entry:46  br label %while.cond1.preheader47 48while.cond1.preheader:49  %0 = phi i16 [ undef, %entry ], [ %inc, %while.end ]50  %1 = load i16, ptr undef, align 151; CHECK: br {{.*}} %trap52  br label %while.end53 54while.end:55  %inc = add nsw i16 %0, 156  %arrayidx = getelementptr inbounds [1 x i16], ptr @e, i16 0, i1657 %058  %2 = load i16, ptr %arrayidx, align 159; CHECK: or i160; CHECK-NEXT: br {{.*}} %trap61  br i1 false, label %while.end6, label %while.cond1.preheader62 63while.end6:64  ret void65}66