Don't pass llvm::errs() all over the place. Diagnostics always go to stderr.