Files
clang-p2996/llvm/test/CodeGen/AArch64/PHIElimination-crash.mir
Kang Zhang 2cc77b2b8a [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
...