From bc5201f8371f9041e79efcca3b158335da5c2604 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Fri, 22 Jan 2010 22:52:10 +0000 Subject: [PATCH] Remove MetadataBase class because it is not adding significant value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Metadata.h | 20 ++------------------ lib/AsmParser/LLParser.h | 1 - lib/Bitcode/Writer/ValueEnumerator.cpp | 9 +++++---- lib/Bitcode/Writer/ValueEnumerator.h | 2 +- lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 3 +-- lib/Linker/LinkModules.cpp | 2 +- lib/VMCore/Metadata.cpp | 4 ++-- 7 files changed, 12 insertions(+), 29 deletions(-) diff --git a/include/llvm/Metadata.h b/include/llvm/Metadata.h index 8766ea8003d..f1e7a22a42f 100644 --- a/include/llvm/Metadata.h +++ b/include/llvm/Metadata.h @@ -30,27 +30,11 @@ template class SymbolTableListTraits; -//===----------------------------------------------------------------------===// -// MetadataBase - A base class for MDNode and MDString. -class MetadataBase : public Value { -protected: - MetadataBase(const Type *Ty, unsigned scid) - : Value(Ty, scid) {} - -public: - - /// Methods for support type inquiry through isa, cast, and dyn_cast: - static inline bool classof(const MetadataBase *) { return true; } - static bool classof(const Value *V) { - return V->getValueID() == MDStringVal || V->getValueID() == MDNodeVal; - } -}; - //===----------------------------------------------------------------------===// /// MDString - a single uniqued string. /// These are used to efficiently contain a byte sequence for metadata. /// MDString is always unnamd. -class MDString : public MetadataBase { +class MDString : public Value { MDString(const MDString &); // DO NOT IMPLEMENT StringRef Str; @@ -87,7 +71,7 @@ class MDNodeOperand; //===----------------------------------------------------------------------===// /// MDNode - a tuple of other values. -class MDNode : public MetadataBase, public FoldingSetNode { +class MDNode : public Value, public FoldingSetNode { MDNode(const MDNode &); // DO NOT IMPLEMENT void operator=(const MDNode &); // DO NOT IMPLEMENT friend class MDNodeOperand; diff --git a/lib/AsmParser/LLParser.h b/lib/AsmParser/LLParser.h index bea0593faa6..85c07ffa8fd 100644 --- a/lib/AsmParser/LLParser.h +++ b/lib/AsmParser/LLParser.h @@ -29,7 +29,6 @@ namespace llvm { class Instruction; class Constant; class GlobalValue; - class MetadataBase; class MDString; class MDNode; diff --git a/lib/Bitcode/Writer/ValueEnumerator.cpp b/lib/Bitcode/Writer/ValueEnumerator.cpp index cb139e5e41f..29a779d810b 100644 --- a/lib/Bitcode/Writer/ValueEnumerator.cpp +++ b/lib/Bitcode/Writer/ValueEnumerator.cpp @@ -140,7 +140,7 @@ void ValueEnumerator::setInstructionID(const Instruction *I) { } unsigned ValueEnumerator::getValueID(const Value *V) const { - if (isa(V)) { + if (isa(V) || isa(V)) { ValueMapType::const_iterator I = MDValueMap.find(V); assert(I != MDValueMap.end() && "Value not in slotcalculator!"); return I->second-1; @@ -229,7 +229,8 @@ void ValueEnumerator::EnumerateNamedMDNode(const NamedMDNode *MD) { MDValueMap[MD] = Values.size(); } -void ValueEnumerator::EnumerateMetadata(const MetadataBase *MD) { +void ValueEnumerator::EnumerateMetadata(const Value *MD) { + assert(isa(MD) || isa(MD) && "Invalid metadata kind"); // Check to see if it's already in! unsigned &MDValueID = MDValueMap[MD]; if (MDValueID) { @@ -262,8 +263,8 @@ void ValueEnumerator::EnumerateMetadata(const MetadataBase *MD) { void ValueEnumerator::EnumerateValue(const Value *V) { assert(!V->getType()->isVoidTy() && "Can't insert void values!"); - if (const MetadataBase *MB = dyn_cast(V)) - return EnumerateMetadata(MB); + if (isa(V) || isa(V)) + return EnumerateMetadata(V); else if (const NamedMDNode *NMD = dyn_cast(V)) return EnumerateNamedMDNode(NMD); diff --git a/lib/Bitcode/Writer/ValueEnumerator.h b/lib/Bitcode/Writer/ValueEnumerator.h index c50fe9ce767..4f8ebf55e19 100644 --- a/lib/Bitcode/Writer/ValueEnumerator.h +++ b/lib/Bitcode/Writer/ValueEnumerator.h @@ -127,7 +127,7 @@ public: private: void OptimizeConstants(unsigned CstStart, unsigned CstEnd); - void EnumerateMetadata(const MetadataBase *MD); + void EnumerateMetadata(const Value *MD); void EnumerateNamedMDNode(const NamedMDNode *NMD); void EnumerateValue(const Value *V); void EnumerateType(const Type *T); diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index cd4b66fcdc6..4a762b9f144 100644 --- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1910,8 +1910,7 @@ void DwarfDebug::collectVariableInfo() { MachineModuleInfo::VariableDbgInfoMapTy &VMap = MMI->getVariableDbgInfo(); for (MachineModuleInfo::VariableDbgInfoMapTy::iterator VI = VMap.begin(), VE = VMap.end(); VI != VE; ++VI) { - MetadataBase *MB = VI->first; - MDNode *Var = dyn_cast_or_null(MB); + MDNode *Var = VI->first; if (!Var) continue; DIVariable DV (Var); std::pair< unsigned, MDNode *> VP = VI->second; diff --git a/lib/Linker/LinkModules.cpp b/lib/Linker/LinkModules.cpp index dcd696c70d4..e2cd47a21b3 100644 --- a/lib/Linker/LinkModules.cpp +++ b/lib/Linker/LinkModules.cpp @@ -392,7 +392,7 @@ static Value *RemapOperand(const Value *In, assert(!isa(CPV) && "Unmapped global?"); llvm_unreachable("Unknown type of derived type constant value!"); } - } else if (isa(In)) { + } else if (isa(In) || isa(In)) { Result = const_cast(In); } else if (isa(In)) { Result = const_cast(In); diff --git a/lib/VMCore/Metadata.cpp b/lib/VMCore/Metadata.cpp index 7141fbd843d..ee8e713fc1e 100644 --- a/lib/VMCore/Metadata.cpp +++ b/lib/VMCore/Metadata.cpp @@ -28,7 +28,7 @@ using namespace llvm; // MDString::MDString(LLVMContext &C, StringRef S) - : MetadataBase(Type::getMetadataTy(C), Value::MDStringVal), Str(S) {} + : Value(Type::getMetadataTy(C), Value::MDStringVal), Str(S) {} MDString *MDString::get(LLVMContext &Context, StringRef Str) { LLVMContextImpl *pImpl = Context.pImpl; @@ -93,7 +93,7 @@ static MDNodeOperand *getOperandPtr(MDNode *N, unsigned Op) { MDNode::MDNode(LLVMContext &C, Value *const *Vals, unsigned NumVals, bool isFunctionLocal) -: MetadataBase(Type::getMetadataTy(C), Value::MDNodeVal) { +: Value(Type::getMetadataTy(C), Value::MDNodeVal) { NumOperands = NumVals; if (isFunctionLocal) -- 2.34.1