brintos

brintos / llvm-project-archived public Read only

0
0
Text · 835 B · e9b9b75 Raw
45 lines · plain
1; RUN: opt -passes=jump-threading -S < %s | FileCheck %s2@global = external global ptr, align 83 4define i32 @foo(i32 %arg) {5; CHECK-LABEL: @foo6; CHECK-LABEL: bb:7; CHECK: icmp eq8; CHECK-NEXT: br i1 %tmp1, label %bb7, label %bb79bb:10  %tmp = load ptr, ptr @global, align 811  %tmp1 = icmp eq ptr %tmp, null12  br i1 %tmp1, label %bb3, label %bb213 14; CHECK-NOT: bb2:15bb2:16  br label %bb317 18; CHECK-NOT: bb3:19bb3:20  %tmp4 = phi i8 [ 1, %bb2 ], [ 0, %bb ]21  %tmp5 = icmp eq i8 %tmp4, 022  br i1 %tmp5, label %bb7, label %bb623 24; CHECK-NOT: bb6:25bb6:26  br label %bb727 28; CHECK-LABEL: bb7:29bb7:30  %tmp8 = icmp eq i32 %arg, -131  br i1 %tmp8, label %bb9, label %bb1032 33; CHECK-LABEL: bb9:34bb9:35  ret i32 036 37; CHECK-LABEL: bb10:38bb10:39  %tmp11 = icmp sgt i32 %arg, -140  call void @llvm.assume(i1 %tmp11)41  ret i32 142}43 44declare void @llvm.assume(i1)45