[llvm] [BBUtils][NFC] Delete SplitLandingPadPredecessors with DT (PR #73406)
Jakub Kuderski via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 30 08:34:31 PST 2023
kuhar wrote:
> Adding @kuhar here to get an opinion on the general direction. We have a bunch of APIs in BBUtils that support both DT and DTU. The UpdateAnalysisInformation() handles the actual updates using either DT or DTU.
>
> To what degree is it our goal to switch updates directly on DT to use DTU, in places that don't otherwise use DTU? My understanding is that the updates directly on DT will be more efficient than going through the generic DTU implementation, so I'm not really clear on whether this kind of change is desirable or not.
DTU makes it worth it when we have a sequence of updates and some of them may cancel out or we may realize it's not worth doing incremental updates and all and rebuild the tree instead. With a local DTU that applies updates immediately, there's little benefit except defaulting to APIs that allow to chain more updates in the future.
Overall, my heuristic would be:
- API --> DTU
- Chaining updates --> DTU
- Local updates: not much difference, either is fine, but DT would constitute fewer stack frames if you ever have to debug this
https://github.com/llvm/llvm-project/pull/73406
More information about the llvm-commits
mailing list