46 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -S -passes=newgvn %s | FileCheck %s3 4%struct.anon = type { i32 }5@b = external global %struct.anon6define void @tinkywinky(i1 %patatino) {7; CHECK-LABEL: @tinkywinky(8; CHECK-NEXT: store i32 8, ptr null, align 49; CHECK-NEXT: br i1 [[PATATINO:%.*]], label [[IF_END:%.*]], label [[IF_THEN:%.*]]10; CHECK: if.then:11; CHECK-NEXT: br label [[L:%.*]]12; CHECK: L:13; CHECK-NEXT: br label [[IF_END]]14; CHECK: if.end:15; CHECK-NEXT: [[TMP1:%.*]] = load i32, ptr null, align 416; CHECK-NEXT: [[BF_LOAD1:%.*]] = load i32, ptr @b, align 417; CHECK-NEXT: [[BF_VALUE:%.*]] = and i32 [[TMP1]], 53687091118; CHECK-NEXT: [[BF_CLEAR:%.*]] = and i32 [[BF_LOAD1]], -53687091219; CHECK-NEXT: [[BF_SET:%.*]] = or i32 [[BF_CLEAR]], [[BF_VALUE]]20; CHECK-NEXT: store i32 [[BF_SET]], ptr @b, align 421; CHECK-NEXT: br label [[LOR_END:%.*]]22; CHECK: lor.end:23; CHECK-NEXT: br label [[L]]24;25 store i32 8, ptr null26 br i1 %patatino, label %if.end, label %if.then27if.then:28 store i32 8, ptr null29 br label %L30L:31 br label %if.end32if.end:33 %tmp1 = load i32, ptr null34 %bf.load1 = load i32, ptr @b35 %bf.value = and i32 %tmp1, 53687091136 %bf.clear = and i32 %bf.load1, -53687091237 %bf.set = or i32 %bf.clear, %bf.value38 store i32 %bf.set, ptr @b39 br label %lor.end40lor.end:41 %bf.load4 = load i32, ptr @b42 %tmp4 = and i32 %bf.load4, 53687091143 %or = or i32 0, %tmp444 br label %L45}46