diff options
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/lli/lli.cpp | 8 | ||||
-rw-r--r-- | llvm/tools/llvm-dis/llvm-dis.cpp | 26 | ||||
-rw-r--r-- | llvm/tools/llvm-extract/llvm-extract.cpp | 12 | ||||
-rw-r--r-- | llvm/tools/llvm-link/llvm-link.cpp | 10 |
4 files changed, 28 insertions, 28 deletions
diff --git a/llvm/tools/lli/lli.cpp b/llvm/tools/lli/lli.cpp index 6b6d0b7395a..7923e8fe42d 100644 --- a/llvm/tools/lli/lli.cpp +++ b/llvm/tools/lli/lli.cpp @@ -418,11 +418,9 @@ int main(int argc, char **argv, char * const *envp) { // If not jitting lazily, load the whole bitcode file eagerly too. if (NoLazyCompilation) { - if (std::error_code EC = Mod->materializeAll()) { - errs() << argv[0] << ": bitcode didn't read correctly.\n"; - errs() << "Reason: " << EC.message() << "\n"; - exit(1); - } + ExitOnError ExitOnErr(std::string(argv[0]) + + ": bitcode didn't read correctly: "); + ExitOnErr(Mod->materializeAll()); } std::string ErrorMsg; diff --git a/llvm/tools/llvm-dis/llvm-dis.cpp b/llvm/tools/llvm-dis/llvm-dis.cpp index c26b68d7abb..3377b4286f9 100644 --- a/llvm/tools/llvm-dis/llvm-dis.cpp +++ b/llvm/tools/llvm-dis/llvm-dis.cpp @@ -137,21 +137,19 @@ static void diagnosticHandler(const DiagnosticInfo &DI, void *Context) { exit(1); } -static Expected<std::unique_ptr<Module>> openInputFile(LLVMContext &Context) { - ErrorOr<std::unique_ptr<MemoryBuffer>> MBOrErr = - MemoryBuffer::getFileOrSTDIN(InputFilename); - if (!MBOrErr) - return errorCodeToError(MBOrErr.getError()); - ErrorOr<std::unique_ptr<Module>> MOrErr = - getOwningLazyBitcodeModule(std::move(*MBOrErr), Context, - /*ShouldLazyLoadMetadata=*/true); - if (!MOrErr) - return errorCodeToError(MOrErr.getError()); +static ExitOnError ExitOnErr; + +static std::unique_ptr<Module> openInputFile(LLVMContext &Context) { + std::unique_ptr<MemoryBuffer> MB = + ExitOnErr(errorOrToExpected(MemoryBuffer::getFileOrSTDIN(InputFilename))); + std::unique_ptr<Module> M = ExitOnErr(errorOrToExpected( + getOwningLazyBitcodeModule(std::move(MB), Context, + /*ShouldLazyLoadMetadata=*/true))); if (MaterializeMetadata) - (*MOrErr)->materializeMetadata(); + ExitOnErr(M->materializeMetadata()); else - (*MOrErr)->materializeAll(); - return std::move(*MOrErr); + ExitOnErr(M->materializeAll()); + return M; } int main(int argc, char **argv) { @@ -159,6 +157,8 @@ int main(int argc, char **argv) { sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); + ExitOnErr.setBanner(std::string(argv[0]) + ": error: "); + LLVMContext Context; llvm_shutdown_obj Y; // Call llvm_shutdown() on exit. diff --git a/llvm/tools/llvm-extract/llvm-extract.cpp b/llvm/tools/llvm-extract/llvm-extract.cpp index 900c461ebd8..e576d0893bf 100644 --- a/llvm/tools/llvm-extract/llvm-extract.cpp +++ b/llvm/tools/llvm-extract/llvm-extract.cpp @@ -22,6 +22,7 @@ #include "llvm/IRReader/IRReader.h" #include "llvm/IR/LegacyPassManager.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/Error.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/ManagedStatic.h" #include "llvm/Support/PrettyStackTrace.h" @@ -222,12 +223,9 @@ int main(int argc, char **argv) { } } - auto Materialize = [&](GlobalValue &GV) { - if (std::error_code EC = GV.materialize()) { - errs() << argv[0] << ": error reading input: " << EC.message() << "\n"; - exit(1); - } - }; + ExitOnError ExitOnErr(std::string(argv[0]) + ": error reading input: "); + + auto Materialize = [&](GlobalValue &GV) { ExitOnErr(GV.materialize()); }; // Materialize requisite global values. if (!DeleteFn) { @@ -251,7 +249,7 @@ int main(int argc, char **argv) { // Now that we have all the GVs we want, mark the module as fully // materialized. // FIXME: should the GVExtractionPass handle this? - M->materializeAll(); + ExitOnErr(M->materializeAll()); } // In addition to deleting all other functions, we also want to spiff it diff --git a/llvm/tools/llvm-link/llvm-link.cpp b/llvm/tools/llvm-link/llvm-link.cpp index 08682205a0d..91e6008d532 100644 --- a/llvm/tools/llvm-link/llvm-link.cpp +++ b/llvm/tools/llvm-link/llvm-link.cpp @@ -108,6 +108,8 @@ static cl::opt<bool> PreserveAssemblyUseListOrder( cl::desc("Preserve use-list order when writing LLVM assembly."), cl::init(false), cl::Hidden); +static ExitOnError ExitOnErr; + // Read the specified bitcode file in and return it. This routine searches the // link path for the specified file to try to find it... // @@ -129,7 +131,7 @@ static std::unique_ptr<Module> loadFile(const char *argv0, } if (MaterializeMetadata) { - Result->materializeMetadata(); + ExitOnErr(Result->materializeMetadata()); UpgradeDebugInfo(*Result); } @@ -264,7 +266,7 @@ static bool importFunctions(const char *argv0, LLVMContext &Context, auto &Entry = ModuleToGlobalsToImportMap[SrcModule.getModuleIdentifier()]; Entry.insert(F); - F->materialize(); + ExitOnErr(F->materialize()); } // Do the actual import of globals now, one Module at a time @@ -277,7 +279,7 @@ static bool importFunctions(const char *argv0, LLVMContext &Context, // If modules were created with lazy metadata loading, materialize it // now, before linking it (otherwise this will be a noop). - SrcModule->materializeMetadata(); + ExitOnErr(SrcModule->materializeMetadata()); UpgradeDebugInfo(*SrcModule); // Linkage Promotion and renaming @@ -348,6 +350,8 @@ int main(int argc, char **argv) { sys::PrintStackTraceOnErrorSignal(argv[0]); PrettyStackTraceProgram X(argc, argv); + ExitOnErr.setBanner(std::string(argv[0]) + ": "); + LLVMContext Context; Context.setDiagnosticHandler(diagnosticHandlerWithContext, nullptr, true); |