[PATCH] D55287: VirtRegMap: Support partially allocated virtual registers
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 25 09:32:42 PST 2019
arsenm marked an inline comment as done.
arsenm added inline comments.
================
Comment at: lib/CodeGen/VirtRegMap.cpp:624
+ }
+ }
+ }
----------------
qcolombet wrote:
> Although that's unlikely to happen, we could imagine that another physical reg that share regunits with the one we are clearing is still relevant for subsequence allocation.
>
> Put differently, why is this code valid?
>
> In theory we may clear RegA's regunits, while they overlap with RegB's regunits and RegB's live interval needs to be valid.
For the real use case I have, that can't happen. If these aren't removed, there will be a huge amount of work to maintain these accurately on the off chance this happens. I think this should just be documented as a restriction for the register class filter functions. If one regunit is disabled, any register class that has a register overlapping that regunit also needs to be disabled.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55287/new/
https://reviews.llvm.org/D55287
More information about the llvm-commits
mailing list