diff --git a/bolt/include/bolt/Utils/Utils.h b/bolt/include/bolt/Utils/Utils.h --- a/bolt/include/bolt/Utils/Utils.h +++ b/bolt/include/bolt/Utils/Utils.h @@ -27,6 +27,8 @@ TempList.swap(List); } +Error make_string_error(const Twine &Message); + void report_error(StringRef Message, std::error_code EC); void report_error(StringRef Message, Error E); diff --git a/bolt/lib/Profile/YAMLProfileReader.cpp b/bolt/lib/Profile/YAMLProfileReader.cpp --- a/bolt/lib/Profile/YAMLProfileReader.cpp +++ b/bolt/lib/Profile/YAMLProfileReader.cpp @@ -255,14 +255,11 @@ // Sanity check. if (YamlBP.Header.Version != 1) - return make_error( - Twine("cannot read profile : unsupported version"), - inconvertibleErrorCode()); + return make_string_error(Twine("cannot read profile: unsupported version")); if (YamlBP.Header.EventNames.find(',') != StringRef::npos) - return make_error( - Twine("multiple events in profile are not supported"), - inconvertibleErrorCode()); + return make_string_error( + Twine("multiple events in profile are not supported")); // Match profile to function based on a function name. buildNameMaps(BC.getBinaryFunctions()); diff --git a/bolt/lib/Rewrite/MachORewriteInstance.cpp b/bolt/lib/Rewrite/MachORewriteInstance.cpp --- a/bolt/lib/Rewrite/MachORewriteInstance.cpp +++ b/bolt/lib/Rewrite/MachORewriteInstance.cpp @@ -118,9 +118,8 @@ if (ProfileReader) { // Already exists - return make_error( - Twine("multiple profiles specified: ") + ProfileReader->getFilename() + - " and " + Filename, inconvertibleErrorCode()); + return make_string_error(Twine("multiple profiles specified: ") + + ProfileReader->getFilename() + " and " + Filename); } ProfileReader = std::make_unique(Filename); diff --git a/bolt/lib/Rewrite/RewriteInstance.cpp b/bolt/lib/Rewrite/RewriteInstance.cpp --- a/bolt/lib/Rewrite/RewriteInstance.cpp +++ b/bolt/lib/Rewrite/RewriteInstance.cpp @@ -375,10 +375,8 @@ if (ProfileReader) { // Already exists - return make_error(Twine("multiple profiles specified: ") + - ProfileReader->getFilename() + " and " + - Filename, - inconvertibleErrorCode()); + return make_string_error(Twine("multiple profiles specified: ") + + ProfileReader->getFilename() + " and " + Filename); } // Spawn a profile reader based on file contents. @@ -3108,9 +3106,8 @@ JITEvaluatedSymbol(I->getAddress(), JITSymbolFlags()); continue; } - OnResolved(make_error( - "Symbol not found required by runtime: " + Symbol, - inconvertibleErrorCode())); + OnResolved(make_string_error("Symbol not found required by runtime: " + + Symbol)); return; } OnResolved(std::move(AllResults)); diff --git a/bolt/lib/Utils/Utils.cpp b/bolt/lib/Utils/Utils.cpp --- a/bolt/lib/Utils/Utils.cpp +++ b/bolt/lib/Utils/Utils.cpp @@ -19,6 +19,10 @@ namespace llvm { namespace bolt { +Error make_string_error(const Twine &Message) { + return make_error(Message, inconvertibleErrorCode()); +} + void report_error(StringRef Message, std::error_code EC) { assert(EC); errs() << "BOLT-ERROR: '" << Message << "': " << EC.message() << ".\n";