62 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 62; RUN: opt < %s -passes=gvn -S | FileCheck %s3 4; PR128585 6define void @fn5(i16 signext %p1, i8 signext %p2, i1 %arg) nounwind uwtable {7; CHECK-LABEL: define void @fn5(8; CHECK-SAME: i16 signext [[P1:%.*]], i8 signext [[P2:%.*]], i1 [[ARG:%.*]]) #[[ATTR0:[0-9]+]] {9; CHECK-NEXT: [[ENTRY:.*:]]10; CHECK-NEXT: br i1 [[ARG]], label %[[IF_ELSE:.*]], label %[[IF_THEN:.*]]11; CHECK: [[IF_THEN]]:12; CHECK-NEXT: [[DOTPRE:%.*]] = sext i16 [[P1]] to i3213; CHECK-NEXT: br label %[[IF_END:.*]]14; CHECK: [[IF_ELSE]]:15; CHECK-NEXT: [[CONV:%.*]] = sext i16 [[P1]] to i3216; CHECK-NEXT: br label %[[IF_END]]17; CHECK: [[IF_END]]:18; CHECK-NEXT: [[CONV1_PRE_PHI:%.*]] = phi i32 [ [[CONV]], %[[IF_ELSE]] ], [ [[DOTPRE]], %[[IF_THEN]] ]19; CHECK-NEXT: br i1 [[ARG]], label %[[IF_THEN3:.*]], label %[[IF_ELSE4:.*]]20; CHECK: [[IF_THEN3]]:21; CHECK-NEXT: [[DOTPRE1:%.*]] = sext i8 [[P2]] to i3222; CHECK-NEXT: br label %[[IF_END12:.*]]23; CHECK: [[IF_ELSE4]]:24; CHECK-NEXT: [[CONV7:%.*]] = sext i8 [[P2]] to i3225; CHECK-NEXT: [[CMP8:%.*]] = icmp eq i32 [[CONV1_PRE_PHI]], [[CONV7]]26; CHECK-NEXT: br i1 [[CMP8]], label %[[IF_THEN10:.*]], label %[[IF_END12]]27; CHECK: [[IF_THEN10]]:28; CHECK-NEXT: br label %[[IF_END12]]29; CHECK: [[IF_END12]]:30; CHECK-NEXT: [[CONV13_PRE_PHI:%.*]] = phi i32 [ [[CONV7]], %[[IF_THEN10]] ], [ [[CONV7]], %[[IF_ELSE4]] ], [ [[DOTPRE1]], %[[IF_THEN3]] ]31; CHECK-NEXT: ret void32;33entry:34 br i1 %arg, label %if.else, label %if.then35 36if.then: ; preds = %entry37 br label %if.end38 39if.else: ; preds = %entry40 %conv = sext i16 %p1 to i3241 br label %if.end42 43if.end: ; preds = %if.else, %if.then44 %conv1 = sext i16 %p1 to i3245 br i1 %arg, label %if.then3, label %if.else446 47if.then3: ; preds = %if.end48 br label %if.end1249 50if.else4: ; preds = %if.end51 %conv7 = sext i8 %p2 to i3252 %cmp8 = icmp eq i32 %conv1, %conv753 br i1 %cmp8, label %if.then10, label %if.end1254 55if.then10: ; preds = %if.else456 br label %if.end1257 58if.end12: ; preds = %if.then10, %if.else4, %if.then359 %conv13 = sext i8 %p2 to i3260 ret void61}62