Improve both start and end lifetime nodes chain dependencies.
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
Nice !
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
15575 ↗ | (On Diff #192184) | Please refactor with the code in visitLIFETIME_END |
15585 ↗ | (On Diff #192184) | I have a hard time convincing myself that we can omit this check. Can you add a comment to the code to explain why ? |
15594 ↗ | (On Diff #192184) | please clang-format the patch. |
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp | ||
---|---|---|
15585 ↗ | (On Diff #192184) | 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 | ||
---|---|---|
1600 ↗ | (On Diff #192343) | Maybe avoid clang-formatting this for consistency with the rest of the function ? (sigh...) |
15585 ↗ | (On Diff #192184) |
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 | ||
---|---|---|
15670 ↗ | (On Diff #192682) | 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