Commits

Roman Levenstein committed 9f49a1096ad
[sil-dead-function-elimination] Add a LateDeadFunctionElimination entry point to remove external definitions. This pass is an extension of the dead function elimination, which additionally performs removal of external function definitions (i.e. function bodies) for a sake of improving the compile times by reducing the amount of code running through IRGen. It is safe, because such functions are defined elsewhere and where required only for analysis and optimization purposes. This pass is supposed to run very late in the pipeline, after any passes that may need to look at the function bodies, i.e. after devirtualization, inlining and all specialization passes. Swift SVN r24417