[llvm][Support] Remove unnecessary allocations when creating StringEr… (#175863)
…rors
The String Error class has three constructors .
StringError::StringError(const Twine &S, std::error_code EC)
StringError::StringError(std::error_code EC, const Twine &S)
StringError::StringError(std::string &&S, std::error_code EC, bool
PrintMsgOnly)
When we use the `createStringError(std::error_code, char const *, ... )`
it ends up using twine variant and ends up creating a new string twice