diff options
| author | Devang Patel <dpatel@apple.com> | 2009-10-22 18:55:16 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2009-10-22 18:55:16 +0000 |
| commit | 6da5dbf3c21a880ab05f7f60bece11d3c17a3bbd (patch) | |
| tree | 22a37aa431bf00a89e3b8913094fd755e6606e97 /llvm/lib/VMCore/Metadata.cpp | |
| parent | 084679e70a6462bd56aed8ebf48feec7065f122f (diff) | |
| download | bcm5719-llvm-6da5dbf3c21a880ab05f7f60bece11d3c17a3bbd.tar.gz bcm5719-llvm-6da5dbf3c21a880ab05f7f60bece11d3c17a3bbd.zip | |
Fix getMDs() interface such that it does not expose implementation details.
llvm-svn: 84885
Diffstat (limited to 'llvm/lib/VMCore/Metadata.cpp')
| -rw-r--r-- | llvm/lib/VMCore/Metadata.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/llvm/lib/VMCore/Metadata.cpp b/llvm/lib/VMCore/Metadata.cpp index f4d60714f99..fdac408abec 100644 --- a/llvm/lib/VMCore/Metadata.cpp +++ b/llvm/lib/VMCore/Metadata.cpp @@ -294,13 +294,15 @@ MDNode *MetadataContext::getMD(unsigned MDKind, const Instruction *Inst) { } /// getMDs - Get the metadata attached to an Instruction. -const MetadataContext::MDMapTy * -MetadataContext::getMDs(const Instruction *Inst) { +void MetadataContext:: +getMDs(const Instruction *Inst, SmallVectorImpl<MDPairTy> &MDs) const { MDStoreTy::iterator I = MetadataStore.find(Inst); if (I == MetadataStore.end()) - return NULL; - - return &I->second; + return; + for (MDMapTy::iterator MI = I->second.begin(), ME = I->second.end(); + MI != ME; ++MI) + MDs.push_back(std::make_pair(MI->first, MI->second)); + std::sort(MDs.begin(), MDs.end()); } /// getHandlerNames - Populate client supplied smallvector using custome |

