brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 205dff7 Raw
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