Some subregisters are only to indicate different access sizes, while not
providing any way to actually divide the register up into multiple
disjunct parts. Avoid tracking subregister liveness in these cases as it
is not beneficial.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
Hi Matthias,
The change LGTM with a few minor nitpicks.
As a follow up I would like a way to specify in table gen that we do not want to track some specific register classes.
For those cases, we do not want to generate the lanemask if we can, but at first we could abuse this flag I guess.
Could you file a PR for that?
Thanks,
-Quentin
include/llvm/CodeGen/MachineRegisterInfo.h | ||
---|---|---|
188 ↗ | (On Diff #22228) | Call subRegLivenessEnabled instead of checking the underlying variable. |
191 ↗ | (On Diff #22228) | assert that VReg is a virtual register. |
lib/CodeGen/LiveIntervalAnalysis.cpp | ||
203 ↗ | (On Diff #22228) | The local variable seems useless. |