diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-09-12 23:46:51 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-09-12 23:46:51 +0000 |
commit | b85c8c4bbdedc370968865ec017eeb87cb2bc69d (patch) | |
tree | 85ca8f91a353b2f240e17e07436ef7d882ba955c /llvm/lib/CodeGen/LiveInterval.cpp | |
parent | 8382ce5f1b099e4cf8b1e15fe9efb6963740b6cc (diff) | |
download | bcm5719-llvm-b85c8c4bbdedc370968865ec017eeb87cb2bc69d.tar.gz bcm5719-llvm-b85c8c4bbdedc370968865ec017eeb87cb2bc69d.zip |
LiveIntervals: Remove assertion
This testcase is invalid, and caught by the verifier. For the verifier
to catch it, the live interval computation needs to complete. Remove
the assert so the verifier catches this, which is less confusing.
In this testcase there is an undefined use of a subregister, and lanes
which aren't used or defined. An equivalent testcase with the
super-register shrunk to have no untouched lanes already hit this
verifier error.
llvm-svn: 371792
Diffstat (limited to 'llvm/lib/CodeGen/LiveInterval.cpp')
-rw-r--r-- | llvm/lib/CodeGen/LiveInterval.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/LiveInterval.cpp b/llvm/lib/CodeGen/LiveInterval.cpp index be9263a150a..54ac46f2e7c 100644 --- a/llvm/lib/CodeGen/LiveInterval.cpp +++ b/llvm/lib/CodeGen/LiveInterval.cpp @@ -917,7 +917,8 @@ static void stripValuesNotDefiningMask(unsigned Reg, LiveInterval::SubRange &SR, for (VNInfo *VNI : ToBeRemoved) SR.removeValNo(VNI); - assert(!SR.empty() && "At least one value should be defined by this mask"); + // If the subrange is empty at this point, the MIR is invalid. Do not assert + // and let the verifier catch this case. } void LiveInterval::refineSubRanges( |