From ab9cd107211604988c19d2d49eb4bfcd05df7995 Mon Sep 17 00:00:00 2001 From: Victor Hernandez Date: Wed, 13 Jan 2010 19:36:16 +0000 Subject: Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93338 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Bitcode/Writer/ValueEnumerator.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'lib/Bitcode/Writer/ValueEnumerator.h') diff --git a/lib/Bitcode/Writer/ValueEnumerator.h b/lib/Bitcode/Writer/ValueEnumerator.h index c50fe9ce76..cf00e4cec9 100644 --- a/lib/Bitcode/Writer/ValueEnumerator.h +++ b/lib/Bitcode/Writer/ValueEnumerator.h @@ -105,6 +105,7 @@ public: const ValueList &getValues() const { return Values; } const ValueList &getMDValues() const { return MDValues; } + ValueList getMDValues() { return MDValues; } const TypeList &getTypes() const { return Types; } const std::vector &getBasicBlocks() const { return BasicBlocks; @@ -127,11 +128,11 @@ public: private: void OptimizeConstants(unsigned CstStart, unsigned CstEnd); - void EnumerateMetadata(const MetadataBase *MD); + void EnumerateMetadata(const MetadataBase *MD, bool isGlobal); void EnumerateNamedMDNode(const NamedMDNode *NMD); - void EnumerateValue(const Value *V); + void EnumerateValue(const Value *V, bool isGlobal = true); void EnumerateType(const Type *T); - void EnumerateOperandType(const Value *V); + void EnumerateOperandType(const Value *V, bool isGlobal); void EnumerateAttributes(const AttrListPtr &PAL); void EnumerateTypeSymbolTable(const TypeSymbolTable &ST); -- cgit v1.2.3