Commits

Nadav Rotem committed 1ef0d157caf
PassManager: Inject the function/module into the Transformation. Now the pass does not need to know about the pass manager. We also don't have runOnFunction or runOnModule anymore because the trnasformation knows which module it is processing. The Pass itself knows how to invalidate the analysis, based on the injected pass manager that is internal to the transformation. Now our DCE transformation looks like this: class DCE : public SILModuleTransform { void run() { performSILDeadCodeElimination(getModule()); invalidateAnalysis(SILAnalysis::InvalidationKind::All); } }; Swift SVN r13598