brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 0982d9a Raw
68 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple aarch64 -run-pass=legalizer -verify-machineinstrs %s -o - | FileCheck %s3 4# This test checks we don't crash when doing zext(trunc) legalizer combines.5---6name:            zext_trunc_dead_inst_crash7alignment:       48tracksRegLiveness: true9body:             |10  ; CHECK-LABEL: name: zext_trunc_dead_inst_crash11  ; CHECK: bb.0:12  ; CHECK-NEXT:   successors: %bb.1(0x80000000)13  ; CHECK-NEXT: {{  $}}14  ; CHECK-NEXT:   [[DEF:%[0-9]+]]:_(s16) = G_IMPLICIT_DEF15  ; CHECK-NEXT: {{  $}}16  ; CHECK-NEXT: bb.1:17  ; CHECK-NEXT:   successors: %bb.2(0x80000000)18  ; CHECK-NEXT: {{  $}}19  ; CHECK-NEXT:   [[PHI:%[0-9]+]]:_(s16) = G_PHI %33(s16), %bb.2, [[DEF]](s16), %bb.020  ; CHECK-NEXT:   [[ANYEXT:%[0-9]+]]:_(s32) = G_ANYEXT [[PHI]](s16)21  ; CHECK-NEXT:   [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 25522  ; CHECK-NEXT:   [[AND:%[0-9]+]]:_(s32) = G_AND [[ANYEXT]], [[C]]23  ; CHECK-NEXT:   [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 4624  ; CHECK-NEXT:   [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(eq), [[AND]](s32), [[C1]]25  ; CHECK-NEXT:   [[DEF1:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF26  ; CHECK-NEXT:   [[OR:%[0-9]+]]:_(s32) = G_OR [[ICMP]], [[DEF1]]27  ; CHECK-NEXT:   [[COPY:%[0-9]+]]:_(s32) = COPY [[ANYEXT]](s32)28  ; CHECK-NEXT:   [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 -3329  ; CHECK-NEXT:   [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY]], [[C2]]30  ; CHECK-NEXT:   [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 -6531  ; CHECK-NEXT:   [[ADD:%[0-9]+]]:_(s32) = G_ADD [[AND1]], [[C3]]32  ; CHECK-NEXT:   [[AND2:%[0-9]+]]:_(s32) = G_AND [[ADD]], [[C]]33  ; CHECK-NEXT:   [[C4:%[0-9]+]]:_(s32) = G_CONSTANT i32 2634  ; CHECK-NEXT:   [[ICMP1:%[0-9]+]]:_(s32) = G_ICMP intpred(ult), [[AND2]](s32), [[C4]]35  ; CHECK-NEXT:   [[OR1:%[0-9]+]]:_(s32) = G_OR [[ICMP1]], [[OR]]36  ; CHECK-NEXT:   [[C5:%[0-9]+]]:_(s32) = G_CONSTANT i32 137  ; CHECK-NEXT:   [[AND3:%[0-9]+]]:_(s32) = G_AND [[OR1]], [[C5]]38  ; CHECK-NEXT:   G_BRCOND [[AND3]](s32), %bb.239  ; CHECK-NEXT: {{  $}}40  ; CHECK-NEXT: bb.2:41  ; CHECK-NEXT:   successors: %bb.1(0x80000000)42  ; CHECK-NEXT: {{  $}}43  ; CHECK-NEXT:   [[C6:%[0-9]+]]:_(s16) = G_CONSTANT i16 6444  ; CHECK-NEXT:   G_BR %bb.145  bb.1:46    %1:_(s8) = G_CONSTANT i8 4647    %3:_(s1) = G_IMPLICIT_DEF48    %5:_(s8) = G_CONSTANT i8 -3349    %7:_(s8) = G_CONSTANT i8 -6550    %9:_(s8) = G_CONSTANT i8 2651    %13:_(s8) = G_IMPLICIT_DEF52 53  bb.2:54    %0:_(s8) = G_PHI %12(s8), %bb.4, %13(s8), %bb.155    %2:_(s1) = G_ICMP intpred(eq), %0(s8), %156    %4:_(s1) = G_OR %2, %357    %6:_(s8) = G_AND %0, %558    %8:_(s8) = G_ADD %6, %759    %10:_(s1) = G_ICMP intpred(ult), %8(s8), %960    %11:_(s1) = G_OR %10, %461    G_BRCOND %11(s1), %bb.462 63  bb.4:64    %12:_(s8) = G_CONSTANT i8 6465    G_BR %bb.266 67...68