[PATCH] D153337: [MachineLICM][WinEH] Don't hoist register reloads out of funclets
Matt Arsenault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 11 09:52:48 PDT 2023
arsenm accepted this revision.
arsenm added inline comments.
================
Comment at: llvm/lib/CodeGen/MachineLICM.cpp:540-543
for (const auto &LI : BB->liveins()) {
for (MCRegAliasIterator AI(LI.PhysReg, TRI, true); AI.isValid(); ++AI)
PhysRegDefs.set(*AI);
}
----------------
rnk wrote:
> arsenm wrote:
> > We're moving towards reverse block liveness. Modern liveness queries start at the end of the block and walk backwards, but this is walking forward looking for defs. Can this pass switch to using LiveRegUnits and stepBackwards?
> That sounds like a good idea, but it seems out of scope for this bug fix.
Yes, but this is just a quick spot fix. For some reason a lot of machine passes invented their own buggy liveness tracking mechanisms and miss the edge cases like this one
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D153337/new/
https://reviews.llvm.org/D153337
More information about the llvm-commits
mailing list