Difference between WMO and LTO


Hi there,

I was curious about the differences between Swift's Whole Module Optimisation and LLVM Link Time Optimisation.

Am I correct in believing that, from a reductionist viewpoint, that WMO is an inter-module optimisation and LTO is enables optimisations for the entire project cross-modules?

Following on from that; from an app development point of view, does Swift support LLVM LTO for projects when enabled under via Xcode build settings?

Thank you! :slight_smile: