1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/test/CodeGen/AArch64/PHIElimination-crash.mir
Kang Zhang 070c26f0c5 [LiveVariables] Don't set undef reg PHI used as live for FromMBB
Summary:
In the patch D73152, it adds a new function LiveVariables::addNewBlock.
This new function will add the reg which PHI used to the MBB which reg
is from.
But the new function may cause LiveVariable Verification failed when the
Src reg in PHI is undef.

Reviewed By: bjope

Differential Revision: https://reviews.llvm.org/D80077
2020-06-03 15:25:30 +00:00

26 lines
647 B
YAML

# RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -o /dev/null %s \
# RUN: -run-pass=livevars,phi-node-elimination,twoaddressinstruction \
# RUN: -no-phi-elim-live-out-early-exit=1 -phi-elim-split-all-critical-edges=1
# Used to result in
#
# *** Bad machine code: LiveVariables: Block should not be in AliveBlocks ***
#
# Just verify that we do not crash (or get verifier error).
---
name: test
tracksRegLiveness: true
body: |
bb.0:
liveins: $nzcv, $wzr
Bcc 8, %bb.2, implicit $nzcv
bb.1:
%x:gpr32 = COPY $wzr
bb.2:
%y:gpr32 = PHI %x:gpr32, %bb.1, undef %undef:gpr32, %bb.0
$wzr = COPY %y:gpr32
...