brintos

brintos / llvm-project-archived public Read only

0
0
Text · 953 B · 40b82d2 Raw
55 lines · plain
1; RUN: opt -S < %s -passes=jump-threading | FileCheck %s2; CHECK-LABEL: @foo3; CHECK: bb6:4; CHECK-NEXT: ret void5; CHECK: bb3:6; CHECK: br label %bb37define void @foo() {8entry:9  br i1 true, label %bb6, label %bb310 11bb3:12  %x0 = phi i32 [ undef, %entry ], [ %x1, %bb5 ]13  %y  = and i64 undef, 114  %p  = icmp ne i64 %y, 015  br i1 %p, label %bb4, label %bb516 17bb4:18  br label %bb519 20bb5:21  %x1 = phi i32 [ %x0, %bb3 ], [ %x0, %bb4 ]22  %z  = phi i32 [ 0, %bb3 ], [ 1, %bb4 ]23  %q  = icmp eq i32 %z, 024  br i1 %q, label %bb3, label %bb625 26bb6:27  ret void28}29 30; CHECK-LABEL: @bar31; Just check that we don't crash on this test.32define void @bar(i1 %p) {33entry:34  br i1 false, label %bb2, label %exit35 36bb2:37  %x0 = phi i32 [ undef, %entry ], [ %x1, %bb5 ]38  br i1 %p, label %bb3, label %bb439 40bb3:41  br label %bb542 43bb4:44  br label %bb545 46bb5:47  %x1 = phi i32 [ %x0, %bb3 ], [ 0, %bb4 ]48  switch i32 %x1, label %exit [49    i32 10, label %bb250  ]51 52exit:53  ret void54}55