55 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=jump-threading -aa-pipeline basic-aa < %s | FileCheck %s3 4define void @foo(ptr %arg1, ptr %arg2) {5; CHECK-LABEL: @foo(6; CHECK-NEXT: bb:7; CHECK-NEXT: br label [[BB1:%.*]]8; CHECK: bb1:9; CHECK-NEXT: [[TMP:%.*]] = phi i1 [ false, [[BB24:%.*]] ], [ true, [[BB:%.*]] ]10; CHECK-NEXT: br i1 [[TMP]], label [[BB8:%.*]], label [[BB24]]11; CHECK: bb8:12; CHECK-NEXT: ret void13; CHECK: bb24:14; CHECK-NEXT: br label [[BB1]]15;16bb:17 br label %bb118 19bb1:20 %tmp = phi i1 [ 0, %bb24 ], [ 1, %bb ]21 br i1 %tmp, label %bb9, label %bb2422 23 24bb9:25 br i1 %tmp, label %bb8, label %bb2026 27bb8:28 ret void29 30bb13:31 br label %bb1432 33bb14:34 %tmp15 = phi ptr [ %tmp21, %bb20 ], [ %arg2, %bb13 ]35 %tmp16 = phi ptr [ %tmp22, %bb20 ], [ %arg1, %bb13 ]36 store atomic i32 0, ptr %tmp15 unordered, align 437 %tmp17 = load atomic ptr, ptr %tmp16 unordered, align 838 %tmp18 = icmp eq ptr %tmp17, null39 br i1 %tmp18, label %bb25, label %bb1940 41bb19:42 ret void43 44bb20:45 %tmp21 = phi ptr [ %arg2, %bb9 ]46 %tmp22 = phi ptr [ %arg1, %bb9 ]47 br label %bb1448 49bb24:50 br label %bb151 52bb25:53 ret void54}55