diff options
author | Devang Patel <dpatel@apple.com> | 2009-10-22 17:40:37 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-10-22 17:40:37 +0000 |
commit | d41fc65c567b15a71b944a64239c785f0da860c2 (patch) | |
tree | e285aa9e8c5c1f24e0bd5da2517d967ae91d9770 | |
parent | 4a53e1ef9d137af590425f77f02a4e974f370656 (diff) |
Sort handler names to ensure deterministic behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Metadata.h | 6 | ||||
-rw-r--r-- | lib/VMCore/Metadata.cpp | 5 |
2 files changed, 6 insertions, 5 deletions
diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index a9c242c508..93207b18cc 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -285,9 +285,9 @@ public: /// the same metadata to In2. void copyMD(Instruction *In1, Instruction *In2); - /// getHandlerNames - Get handler names. This is used by bitcode - /// writer. - void getHandlerNames(SmallVectorImpl<std::pair<unsigned, StringRef> >&N) const; + /// getHandlerNames - Populate client supplied smallvector using custome + /// metadata name and ID. + void getHandlerNames(SmallVectorImpl<std::pair<unsigned, StringRef> >&) const; /// ValueIsDeleted - This handler is used to update metadata store /// when a value is deleted. diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index f45114c6ff..69b2c6f3f3 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -304,13 +304,14 @@ MetadataContext::getMDs(const Instruction *Inst) { return &I->second; } -/// getHandlerNames - Get handler names. This is used by bitcode -/// writer and aswm writer. +/// getHandlerNames - Populate client supplied smallvector using custome +/// metadata name and ID. void MetadataContext:: getHandlerNames(SmallVectorImpl<std::pair<unsigned, StringRef> >&Names) const { for (StringMap<unsigned>::const_iterator I = MDHandlerNames.begin(), E = MDHandlerNames.end(); I != E; ++I) Names.push_back(std::make_pair(I->second, I->first())); + std::sort(Names.begin(), Names.end()); } /// ValueIsCloned - This handler is used to update metadata store |