diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2016-12-23 02:20:02 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-12-23 02:20:02 +0000 |
commit | ec68dd49bfa3a0e7e68e272e4331d27340b1f639 (patch) | |
tree | c23412facfefc67ef03189a884b3ad2e339dbd04 /llvm/lib/Bitcode/Reader | |
parent | 43e14d271c959b83e5b0048bb506d89351452a0d (diff) | |
download | bcm5719-llvm-ec68dd49bfa3a0e7e68e272e4331d27340b1f639.tar.gz bcm5719-llvm-ec68dd49bfa3a0e7e68e272e4331d27340b1f639.zip |
MetadataLoader: Refactor "IsImporting" into the Pimpl for the MetadataLoader (NFC)
Keeping all the state together will make it easier to handle.
llvm-svn: 290406
Diffstat (limited to 'llvm/lib/Bitcode/Reader')
-rw-r--r-- | llvm/lib/Bitcode/Reader/MetadataLoader.cpp | 20 | ||||
-rw-r--r-- | llvm/lib/Bitcode/Reader/MetadataLoader.h | 2 |
2 files changed, 11 insertions, 11 deletions
diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp index 862a02c16d4..695b2b09e6e 100644 --- a/llvm/lib/Bitcode/Reader/MetadataLoader.cpp +++ b/llvm/lib/Bitcode/Reader/MetadataLoader.cpp @@ -391,6 +391,9 @@ class MetadataLoader::MetadataLoaderImpl { bool StripTBAA = false; bool HasSeenOldLoopTags = false; + /// True if metadata is being parsed for a module being ThinLTO imported. + bool IsImporting = false; + Error parseMetadataStrings(ArrayRef<uint64_t> Record, StringRef Blob, unsigned &NextMetadataNo); Error parseGlobalObjectAttachment(GlobalObject &GO, @@ -400,12 +403,13 @@ class MetadataLoader::MetadataLoaderImpl { public: MetadataLoaderImpl(BitstreamCursor &Stream, Module &TheModule, BitcodeReaderValueList &ValueList, - std::function<Type *(unsigned)> getTypeByID) + std::function<Type *(unsigned)> getTypeByID, + bool IsImporting) : MetadataList(TheModule.getContext()), ValueList(ValueList), Stream(Stream), Context(TheModule.getContext()), TheModule(TheModule), - getTypeByID(getTypeByID) {} + getTypeByID(getTypeByID), IsImporting(IsImporting) {} - Error parseMetadata(bool ModuleLevel, bool IsImporting); + Error parseMetadata(bool ModuleLevel); bool hasFwdRefs() const { return MetadataList.hasFwdRefs(); } Metadata *getMetadataFwdRef(unsigned Idx) { @@ -441,8 +445,7 @@ Error error(const Twine &Message) { /// Parse a METADATA_BLOCK. If ModuleLevel is true then we are parsing /// module level metadata. -Error MetadataLoader::MetadataLoaderImpl::parseMetadata(bool ModuleLevel, - bool IsImporting) { +Error MetadataLoader::MetadataLoaderImpl::parseMetadata(bool ModuleLevel) { if (!ModuleLevel && MetadataList.hasFwdRefs()) return error("Invalid metadata: fwd refs into function blocks"); @@ -1333,7 +1336,7 @@ MetadataLoader &MetadataLoader::operator=(MetadataLoader &&RHS) { return *this; } MetadataLoader::MetadataLoader(MetadataLoader &&RHS) - : Pimpl(std::move(RHS.Pimpl)), IsImporting(RHS.IsImporting) {} + : Pimpl(std::move(RHS.Pimpl)) {} MetadataLoader::~MetadataLoader() = default; MetadataLoader::MetadataLoader(BitstreamCursor &Stream, Module &TheModule, @@ -1341,11 +1344,10 @@ MetadataLoader::MetadataLoader(BitstreamCursor &Stream, Module &TheModule, bool IsImporting, std::function<Type *(unsigned)> getTypeByID) : Pimpl(llvm::make_unique<MetadataLoaderImpl>(Stream, TheModule, ValueList, - getTypeByID)), - IsImporting(IsImporting) {} + getTypeByID, IsImporting)) {} Error MetadataLoader::parseMetadata(bool ModuleLevel) { - return Pimpl->parseMetadata(ModuleLevel, IsImporting); + return Pimpl->parseMetadata(ModuleLevel); } bool MetadataLoader::hasFwdRefs() const { return Pimpl->hasFwdRefs(); } diff --git a/llvm/lib/Bitcode/Reader/MetadataLoader.h b/llvm/lib/Bitcode/Reader/MetadataLoader.h index 351857e342c..753846c6ead 100644 --- a/llvm/lib/Bitcode/Reader/MetadataLoader.h +++ b/llvm/lib/Bitcode/Reader/MetadataLoader.h @@ -36,8 +36,6 @@ class Type; class MetadataLoader { class MetadataLoaderImpl; std::unique_ptr<MetadataLoaderImpl> Pimpl; - /// True if metadata is being parsed for a module being ThinLTO imported. - bool IsImporting = false; Error parseMetadata(bool ModuleLevel); public: |