[llvm-dev] liveness tracking of a register class with a single sub-register
Dvir Yitzchaki via llvm-dev
llvm-dev at lists.llvm.org
Wed Apr 25 02:04:17 PDT 2018
Hi list.
I'm trying to enable sub-register liveness tracking for our target but I'm hitting the following assert on VirtRegRewriter::readsUndefSubreg:
assert(SubRegIdx != 0 && LI.hasSubRanges());
The reason is that I have a register class of two bit predicates where only the low bit is allocatable so there's only a single sub-register.
Now, MachineRegisterInfo only enables sub-reg liveness tracking for a class if it has at least two distinct sub-registers,
so the live range cannot have sub-ranges in this case but instructions can read the single sub-reg nevertheless, which leads to this assertion failing.
Has anyone ran into this problem before or know of an in-tree target which has a similar construct?
Thanks,
Dvir
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180425/5b33b1f1/attachment.html>
More information about the llvm-dev
mailing list