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
This commit is contained in:
Victor Hernandez
2010-01-13 19:36:16 +00:00
parent fab9e99c01
commit ab9cd10721
2 changed files with 35 additions and 20 deletions
+4 -3
View File
@@ -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<const BasicBlock*> &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);