Improve both start and end lifetime nodes chain dependencies.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
- Build Status
Buildable 29596 Build 29595: arc lint + arc unit
Event Timeline
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
15585 | It's not strictly; we could accidentally skip a store because the TokenFactors aren't properly minimized. There needs to be an extra check that the found store is the last semantically meaningful before the LIFETIME_END. I'll factor this out separately from the chain improvement logic. |
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
1597 | Maybe avoid clang-formatting this for consistency with the rest of the function ? (sigh...) | |
15585 |
What happens then ? :) Can you add this comment to the code so that future readers are aware of the choices made here ? |
Now that lifetime node hashing and TokenFactor cleanup has happened, factor out Dead Store improvements as they are no longer needed to prevent regressions.
Thanks, just one nit.
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
15591 | This can be simplified to: return ImproveLifetimeNodeChain(N); |
This was reverted together with r357309 in r357563 as it caused
https://bugs.llvm.org/show_bug.cgi?id=41352
Maybe avoid clang-formatting this for consistency with the rest of the function ? (sigh...)