diff options
Diffstat (limited to 'llvm/lib/Bitcode/Writer/ValueEnumerator.h')
-rw-r--r-- | llvm/lib/Bitcode/Writer/ValueEnumerator.h | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.h b/llvm/lib/Bitcode/Writer/ValueEnumerator.h index fd09a695a99..7665210d014 100644 --- a/llvm/lib/Bitcode/Writer/ValueEnumerator.h +++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.h @@ -66,7 +66,7 @@ private: SmallVector<const LocalAsMetadata *, 8> FunctionLocalMDs; typedef DenseMap<const Metadata *, unsigned> MetadataMapType; MetadataMapType MetadataMap; - unsigned NumMDStrings = 0; + bool HasMDString; bool ShouldPreserveUseListOrder; typedef DenseMap<AttributeSet, unsigned> AttributeGroupMapType; @@ -121,6 +121,8 @@ public: } unsigned numMDs() const { return MDs.size(); } + bool hasMDString() const { return HasMDString; } + bool shouldPreserveUseListOrder() const { return ShouldPreserveUseListOrder; } unsigned getTypeID(Type *T) const { @@ -155,16 +157,9 @@ public: const ValueList &getValues() const { return Values; } const std::vector<const Metadata *> &getMDs() const { return MDs; } - ArrayRef<const Metadata *> getMDStrings() const { - return makeArrayRef(MDs).slice(0, NumMDStrings); - } - ArrayRef<const Metadata *> getNonMDStrings() const { - return makeArrayRef(MDs).slice(NumMDStrings); - } const SmallVectorImpl<const LocalAsMetadata *> &getFunctionLocalMDs() const { return FunctionLocalMDs; } - const TypeList &getTypes() const { return Types; } const std::vector<const BasicBlock*> &getBasicBlocks() const { return BasicBlocks; @@ -194,10 +189,6 @@ public: private: void OptimizeConstants(unsigned CstStart, unsigned CstEnd); - // Reorder the reachable metadata. This is not just an optimization, but is - // mandatory for emitting MDString correctly. - void organizeMetadata(); - void EnumerateMDNodeOperands(const MDNode *N); void EnumerateMetadata(const Metadata *MD); void EnumerateFunctionLocalMetadata(const LocalAsMetadata *Local); |