mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 08:17:40 +00:00
Use separate namespace for named metadata.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -74,9 +74,10 @@ ValueEnumerator::ValueEnumerator(const Module *M) {
|
||||
// Enumerate types used by the type symbol table.
|
||||
EnumerateTypeSymbolTable(M->getTypeSymbolTable());
|
||||
|
||||
// Insert constants that are named at module level into the slot pool so that
|
||||
// the module symbol table can refer to them...
|
||||
// Insert constants and metadata that are named at module level into the slot
|
||||
// pool so that the module symbol table can refer to them...
|
||||
EnumerateValueSymbolTable(M->getValueSymbolTable());
|
||||
EnumerateMDSymbolTable(M->getMDSymbolTable());
|
||||
|
||||
SmallVector<std::pair<unsigned, MDNode*>, 8> MDs;
|
||||
|
||||
@@ -196,6 +197,14 @@ void ValueEnumerator::EnumerateValueSymbolTable(const ValueSymbolTable &VST) {
|
||||
EnumerateValue(VI->getValue());
|
||||
}
|
||||
|
||||
/// EnumerateMDSymbolTable - Insert all of the values in the specified metadata
|
||||
/// table.
|
||||
void ValueEnumerator::EnumerateMDSymbolTable(const MDSymbolTable &MST) {
|
||||
for (MDSymbolTable::const_iterator MI = MST.begin(), ME = MST.end();
|
||||
MI != ME; ++MI)
|
||||
EnumerateValue(MI->getValue());
|
||||
}
|
||||
|
||||
void ValueEnumerator::EnumerateMetadata(const MetadataBase *MD) {
|
||||
// Check to see if it's already in!
|
||||
unsigned &MDValueID = MDValueMap[MD];
|
||||
|
||||
Reference in New Issue
Block a user