From: Peter Collingbourne Date: Thu, 8 Jun 2017 22:04:24 +0000 (+0000) Subject: Object: Move datalayout check into irsymtab::build. NFCI. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7136633db162a9f2c27c7573b961e8b8feebf0a8;p=llvm Object: Move datalayout check into irsymtab::build. NFCI. This check is a requirement of the irsymtab builder, not of any particular caller. Differential Revision: https://reviews.llvm.org/D33970 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305023 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Object/IRSymtab.cpp b/lib/Object/IRSymtab.cpp index 94f13490939..d21acdb1d55 100644 --- a/lib/Object/IRSymtab.cpp +++ b/lib/Object/IRSymtab.cpp @@ -90,6 +90,10 @@ struct Builder { }; Error Builder::addModule(Module *M) { + if (M->getDataLayoutStr().empty()) + return make_error("input module has no datalayout", + inconvertibleErrorCode()); + SmallPtrSet Used; collectUsedGlobalVariables(*M, Used, /*CompilerUsed*/ false); @@ -277,10 +281,6 @@ static Expected upgrade(ArrayRef BMs) { if (!MOrErr) return MOrErr.takeError(); - if ((*MOrErr)->getDataLayoutStr().empty()) - return make_error("input module has no datalayout", - inconvertibleErrorCode()); - Mods.push_back(MOrErr->get()); OwnedMods.push_back(std::move(*MOrErr)); }