39 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 42; Make sure GVN doesn't incorrectly think the branch terminating3; bb2 has a constant condition.4; RUN: opt -S -passes=newgvn %s | FileCheck %s5 6@a = common global i32 07@patatino = private unnamed_addr constant [3 x i8] c"0\0A\00"8 9define void @tinkywinky() {10; CHECK-LABEL: define void @tinkywinky() {11; CHECK-NEXT: bb:12; CHECK-NEXT: [[TMP:%.*]] = load i32, ptr @a, align 413; CHECK-NEXT: [[TMP1:%.*]] = icmp sge i32 [[TMP]], 014; CHECK-NEXT: br i1 [[TMP1]], label [[BB2:%.*]], label [[BB7:%.*]]15; CHECK: bb2:16; CHECK-NEXT: [[TMP4:%.*]] = icmp sgt i32 [[TMP]], 017; CHECK-NEXT: br i1 [[TMP4]], label [[BB5:%.*]], label [[BB7]]18; CHECK: bb5:19; CHECK-NEXT: [[TMP6:%.*]] = call i32 (ptr, ...) @printf(ptr @patatino)20; CHECK-NEXT: br label [[BB7]]21; CHECK: bb7:22; CHECK-NEXT: ret void23;24bb:25 %tmp = load i32, ptr @a26 %tmp1 = icmp sge i32 %tmp, 027 br i1 %tmp1, label %bb2, label %bb728bb2:29 %tmp4 = icmp sgt i32 %tmp, 030 br i1 %tmp4, label %bb5, label %bb731bb5:32 %tmp6 = call i32 (ptr, ...) @printf(ptr @patatino)33 br label %bb734bb7:35 ret void36}37 38declare i32 @printf(ptr, ...)39