45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 52; RUN: opt -S < %s -passes=instcombine | FileCheck %s3 4; Verify that instcombine doesn't look at users of Constant in different5; functions for dominates() queries.6 7define void @f1(i1 %a) {8; CHECK-LABEL: define void @f1(9; CHECK-SAME: i1 [[A:%.*]]) {10; CHECK-NEXT: br label %[[BB1:.*]]11; CHECK: [[BB1]]:12; CHECK-NEXT: br i1 [[A]], label %[[BB3:.*]], label %[[BB2:.*]]13; CHECK: [[BB2]]:14; CHECK-NEXT: br label %[[BB3]]15; CHECK: [[BB3]]:16; CHECK-NEXT: [[PHI:%.*]] = phi i64 [ 0, %[[BB2]] ], [ 1, %[[BB1]] ]17; CHECK-NEXT: [[INTTOPTR:%.*]] = inttoptr i64 [[PHI]] to ptr18; CHECK-NEXT: store i32 0, ptr [[INTTOPTR]], align 419; CHECK-NEXT: br label %[[BB1]]20;21 br label %bb122 23bb1:24 br i1 %a, label %bb3, label %bb225 26bb2:27 br label %bb328 29bb3:30 %phi = phi i64 [ 0, %bb2 ], [ 1, %bb1 ]31 %inttoptr = inttoptr i64 %phi to ptr32 store i32 0, ptr %inttoptr, align 433 br label %bb134}35 36define void @f2() {37; CHECK-LABEL: define void @f2() {38; CHECK-NEXT: [[BB:.*:]]39; CHECK-NEXT: ret void40;41bb:42 %inttoptr = inttoptr i64 0 to ptr43 ret void44}45