[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