summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2009-07-29 22:34:41 +0000
committerDevang Patel <dpatel@apple.com>2009-07-29 22:34:41 +0000
commit27c87fff7f0d0502d632e3ce3ede6ae5ccc29ad3 (patch)
treec113b45f19e0b6618064de693516cb57feead556 /llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
parent4056ca9568acd3a43a4d7ce96c4a7dec2442e071 (diff)
downloadbcm5719-llvm-27c87fff7f0d0502d632e3ce3ede6ae5ccc29ad3.tar.gz
bcm5719-llvm-27c87fff7f0d0502d632e3ce3ede6ae5ccc29ad3.zip
Read and write NamedMDNode.
llvm-svn: 77517
Diffstat (limited to 'llvm/lib/Bitcode/Writer/ValueEnumerator.cpp')
-rw-r--r--llvm/lib/Bitcode/Writer/ValueEnumerator.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
index 302791a4202..a980e90dcfb 100644
--- a/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
+++ b/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
@@ -221,6 +221,18 @@ void ValueEnumerator::EnumerateValue(const Value *V) {
return;
}
+ if (const NamedMDNode *N = dyn_cast<NamedMDNode>(V)) {
+ Values.push_back(std::make_pair(V, 1U));
+ ValueMap[V] = Values.size();
+ ValueID = Values.size();
+ for(NamedMDNode::const_elem_iterator I = N->elem_begin(),
+ E = N->elem_end(); I != E; ++I) {
+ MetadataBase *M = *I;
+ EnumerateValue(M);
+ }
+ return;
+ }
+
// Add the value.
Values.push_back(std::make_pair(V, 1U));
ValueID = Values.size();
OpenPOWER on IntegriCloud