aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-07-20 22:25:04 +0000
committerDan Gohman <gohman@apple.com>2010-07-20 22:25:04 +0000
commit4f1be4abba762f8a7b77d7622abaf1ed1a87b48b (patch)
treecac6260696e5757612a2ce38b17bd6c54226ce49
parent7648bd428b42170b27b53a4faff33dc029579dcc (diff)
Rename removeAllMetadata to clearMetadataHashEntries and simplify
it to just do the things that need to be done when an instruction is deleted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108948 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Instruction.h2
-rw-r--r--lib/VMCore/Instruction.cpp4
-rw-r--r--lib/VMCore/Metadata.cpp14
3 files changed, 9 insertions, 11 deletions
diff --git a/include/llvm/Instruction.h b/include/llvm/Instruction.h
index 45959ccc6e..88f5ce1b26 100644
--- a/include/llvm/Instruction.h
+++ b/include/llvm/Instruction.h
@@ -189,7 +189,7 @@ private:
void getAllMetadataImpl(SmallVectorImpl<std::pair<unsigned,MDNode*> > &)const;
void getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
MDNode*> > &) const;
- void removeAllMetadata();
+ void clearMetadataHashEntries();
public:
//===--------------------------------------------------------------------===//
// Predicates and helper methods.
diff --git a/lib/VMCore/Instruction.cpp b/lib/VMCore/Instruction.cpp
index 9792adaaa1..05bed4c643 100644
--- a/lib/VMCore/Instruction.cpp
+++ b/lib/VMCore/Instruction.cpp
@@ -49,8 +49,8 @@ Instruction::Instruction(const Type *ty, unsigned it, Use *Ops, unsigned NumOps,
// Out of line virtual method, so the vtable, etc has a home.
Instruction::~Instruction() {
assert(Parent == 0 && "Instruction still linked in the program!");
- if (hasMetadata())
- removeAllMetadata();
+ if (hasMetadataHashEntry())
+ clearMetadataHashEntries();
}
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp
index 22e758763d..023799ceb8 100644
--- a/lib/VMCore/Metadata.cpp
+++ b/lib/VMCore/Metadata.cpp
@@ -563,13 +563,11 @@ getAllMetadataOtherThanDebugLocImpl(SmallVectorImpl<std::pair<unsigned,
}
-/// removeAllMetadata - Remove all metadata from this instruction.
-void Instruction::removeAllMetadata() {
- assert(hasMetadata() && "Caller should check");
- DbgLoc = DebugLoc();
- if (hasMetadataHashEntry()) {
- getContext().pImpl->MetadataStore.erase(this);
- setHasMetadataHashEntry(false);
- }
+/// clearMetadataHashEntries - Clear all hashtable-based metadata from
+/// this instruction.
+void Instruction::clearMetadataHashEntries() {
+ assert(hasMetadataHashEntry() && "Caller should check");
+ getContext().pImpl->MetadataStore.erase(this);
+ setHasMetadataHashEntry(false);
}