summaryrefslogtreecommitdiffstats
path: root/llvm/lib/LTO
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-11-09 17:49:19 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-11-09 17:49:19 +0000
commit7f00d0a125b98a1c68b05e7b6be4e89f39bf8240 (patch)
treeb13eb173d29b968498f03be9eceaf03f58752d76 /llvm/lib/LTO
parent9934c54cca1bc94e02f58c3fe1209e72312c115b (diff)
downloadbcm5719-llvm-7f00d0a125b98a1c68b05e7b6be4e89f39bf8240.tar.gz
bcm5719-llvm-7f00d0a125b98a1c68b05e7b6be4e89f39bf8240.zip
Bitcode: Change the materializer interface to return llvm::Error.
Differential Revision: https://reviews.llvm.org/D26439 llvm-svn: 286382
Diffstat (limited to 'llvm/lib/LTO')
-rw-r--r--llvm/lib/LTO/LTO.cpp3
-rw-r--r--llvm/lib/LTO/LTOBackend.cpp3
-rw-r--r--llvm/lib/LTO/ThinLTOCodeGenerator.cpp3
3 files changed, 6 insertions, 3 deletions
diff --git a/llvm/lib/LTO/LTO.cpp b/llvm/lib/LTO/LTO.cpp
index ed95ac6598c..b599830d092 100644
--- a/llvm/lib/LTO/LTO.cpp
+++ b/llvm/lib/LTO/LTO.cpp
@@ -350,7 +350,8 @@ Error LTO::addRegularLTO(std::unique_ptr<InputFile> Input,
std::unique_ptr<object::IRObjectFile> Obj = std::move(*ObjOrErr);
Module &M = Obj->getModule();
- M.materializeMetadata();
+ if (Error Err = M.materializeMetadata())
+ return Err;
UpgradeDebugInfo(M);
SmallPtrSet<GlobalValue *, 8> Used;
diff --git a/llvm/lib/LTO/LTOBackend.cpp b/llvm/lib/LTO/LTOBackend.cpp
index 0885c0b8484..fb1cfed96bb 100644
--- a/llvm/lib/LTO/LTOBackend.cpp
+++ b/llvm/lib/LTO/LTOBackend.cpp
@@ -359,7 +359,8 @@ Error lto::thinBackend(Config &Conf, unsigned Task, AddStreamFn AddStream,
};
FunctionImporter Importer(CombinedIndex, ModuleLoader);
- Importer.importFunctions(Mod, ImportList);
+ if (Error Err = Importer.importFunctions(Mod, ImportList).takeError())
+ return Err;
if (Conf.PostImportModuleHook && !Conf.PostImportModuleHook(Task, Mod))
return Error();
diff --git a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp
index 2bf4f7a569f..5baecc2bdac 100644
--- a/llvm/lib/LTO/ThinLTOCodeGenerator.cpp
+++ b/llvm/lib/LTO/ThinLTOCodeGenerator.cpp
@@ -152,7 +152,8 @@ crossImportIntoModule(Module &TheModule, const ModuleSummaryIndex &Index,
const FunctionImporter::ImportMapTy &ImportList) {
ModuleLoader Loader(TheModule.getContext(), ModuleMap);
FunctionImporter Importer(Index, Loader);
- Importer.importFunctions(TheModule, ImportList);
+ if (!Importer.importFunctions(TheModule, ImportList))
+ report_fatal_error("importFunctions failed");
}
static void optimizeModule(Module &TheModule, TargetMachine &TM) {
OpenPOWER on IntegriCloud