This change updates Clang to check for an llvm::Expected<llvm::Regex>, instead
of constructing an invalid Regex and checking .isValid().
Since most of the uses already (silently) ignore invalid llvm::Regex objects,
I've not tried too hard to propagate construction-time errors.
I have the same comments about this patch as I did re: D27465, but I thought I'd chime in here with an extra warning.
I don't think this will compile. The errs() object doesn't take ownership of the Error or check it. Better to write: llvm::toString(R.takeError()).