aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp12
-rw-r--r--lib/Bitcode/Writer/ValueEnumerator.cpp3
-rw-r--r--lib/VMCore/AsmWriter.cpp8
-rw-r--r--lib/VMCore/Metadata.cpp12
4 files changed, 14 insertions, 21 deletions
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index 947b8958a1..c8cb59527d 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -569,14 +569,12 @@ static void WriteMetadataAttachment(const Function &F,
bool RecordedInstruction = false;
for (MetadataContext::MDMapTy::const_iterator PI = P->begin(),
PE = P->end(); PI != PE; ++PI) {
- if (MDNode *ND = dyn_cast_or_null<MDNode>(PI->second)) {
- if (RecordedInstruction == false) {
- Record.push_back(VE.getInstructionID(I));
- RecordedInstruction = true;
- }
- Record.push_back(PI->first);
- Record.push_back(VE.getValueID(ND));
+ if (RecordedInstruction == false) {
+ Record.push_back(VE.getInstructionID(I));
+ RecordedInstruction = true;
}
+ Record.push_back(PI->first);
+ Record.push_back(VE.getValueID(PI->second));
}
if (!Record.empty()) {
if (!StartedMetadataBlock) {
diff --git a/lib/Bitcode/Writer/ValueEnumerator.cpp b/lib/Bitcode/Writer/ValueEnumerator.cpp
index ca9fc776bf..4257281a3a 100644
--- a/lib/Bitcode/Writer/ValueEnumerator.cpp
+++ b/lib/Bitcode/Writer/ValueEnumerator.cpp
@@ -103,8 +103,7 @@ ValueEnumerator::ValueEnumerator(const Module *M) {
if (MDs)
for (MetadataContext::MDMapTy::const_iterator MI = MDs->begin(),
ME = MDs->end(); MI != ME; ++MI)
- if (MDNode *MDN = dyn_cast_or_null<MDNode>(MI->second))
- EnumerateMetadata(MDN);
+ EnumerateMetadata(MI->second);
}
}
diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp
index e6ed81ede0..fb1b1ac41c 100644
--- a/lib/VMCore/AsmWriter.cpp
+++ b/lib/VMCore/AsmWriter.cpp
@@ -700,8 +700,7 @@ void SlotTracker::processFunction() {
if (MDs)
for (MetadataContext::MDMapTy::const_iterator MI = MDs->begin(),
ME = MDs->end(); MI != ME; ++MI)
- if (MDNode *MDN = dyn_cast_or_null<MDNode>(MI->second))
- CreateMetadataSlot(MDN);
+ CreateMetadataSlot(MI->second);
}
}
@@ -2039,9 +2038,8 @@ void AssemblyWriter::printInstruction(const Instruction &I) {
if (MDMap)
for (MetadataContext::MDMapTy::const_iterator MI = MDMap->begin(),
ME = MDMap->end(); MI != ME; ++MI)
- if (const MDNode *MD = dyn_cast_or_null<MDNode>(MI->second))
- Out << ", !" << MDNames[MI->first]
- << " !" << Machine.getMetadataSlot(MD);
+ Out << ", !" << MDNames[MI->first]
+ << " !" << Machine.getMetadataSlot(MI->second);
}
printInfoComment(I);
}
diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp
index 69b2c6f3f3..f4d60714f9 100644
--- a/lib/VMCore/Metadata.cpp
+++ b/lib/VMCore/Metadata.cpp
@@ -34,7 +34,7 @@ MDString *MDString::get(LLVMContext &Context, StringRef Str) {
if (S) return S;
return S =
- new MDString(Context, StringRef(Entry.getKeyData(), Entry.getKeyLength()));
+ new MDString(Context, Entry.getKey());
}
//===----------------------------------------------------------------------===//
@@ -151,7 +151,7 @@ NamedMDNode::NamedMDNode(LLVMContext &C, const Twine &N,
setName(N);
for (unsigned i = 0; i != NumMDs; ++i)
- Node.push_back(WeakMetadataVH(MDs[i]));
+ Node.push_back(TrackingVH<MetadataBase>(MDs[i]));
if (ParentModule)
ParentModule->getNamedMDList().push_back(this);
@@ -277,8 +277,7 @@ void MetadataContext::copyMD(Instruction *In1, Instruction *In2) {
return;
for (MDMapTy::iterator I = In1Info.begin(), E = In1Info.end(); I != E; ++I)
- if (MDNode *MD = dyn_cast_or_null<MDNode>(I->second))
- addMD(I->first, MD, In2);
+ addMD(I->first, I->second, In2);
}
/// getMD - Get the metadata of given kind attached to an Instruction.
@@ -290,7 +289,7 @@ MDNode *MetadataContext::getMD(unsigned MDKind, const Instruction *Inst) {
for (MDMapTy::iterator I = Info.begin(), E = Info.end(); I != E; ++I)
if (I->first == MDKind)
- return dyn_cast_or_null<MDNode>(I->second);
+ return I->second;
return NULL;
}
@@ -326,8 +325,7 @@ void MetadataContext::ValueIsCloned(const Instruction *In1, Instruction *In2) {
MDMapTy &In1Info = I->second;
MDMapTy In2Info;
for (MDMapTy::iterator I = In1Info.begin(), E = In1Info.end(); I != E; ++I)
- if (MDNode *MD = dyn_cast_or_null<MDNode>(I->second))
- addMD(I->first, MD, In2);
+ addMD(I->first, I->second, In2);
}
/// ValueIsRAUWd - This handler is used when V1's all uses are replaced by