Are you sure this works? The MutableFile interface has no way to replace all the the atoms - just addAtoms(). I think we need to change the pass interface so that a Pass can completely replace one file with another. http://llvm-reviews.chandlerc.com/D1955