Split it up into 5 files should make each file 1/5th the size and 1/5th compile time? Split up more whenever we need? Generate the split TUs? That seems a better long term strategy than poking at the code (that is already borderline complex for my taste ;) http://reviews.llvm.org/D5124