As of D35528 DominatorTree seems to be preserved correctly and there's no need to recompute it at the end of LoopUnswitch.
I tested this patch by calling DT->verify() instead of DT->recalculate() -- I didn't find any failures when bootstrapping clang and building the llvm test suite.