Do not use global typedef for MDKindID.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83016 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-09-28 21:14:55 +00:00
parent da591e7fbe
commit a2148402ce
7 changed files with 17 additions and 21 deletions

View File

@ -307,13 +307,9 @@ public:
/// Metadata - /// Metadata -
/// Metadata manages metadata used in a context. /// Metadata manages metadata used in a context.
/// MDKindID - This id identifies metadata kind the metadata store. Valid
/// ID values are 1 or higher. This ID is set by RegisterMDKind.
typedef unsigned MDKindID;
class Metadata { class Metadata {
public: public:
typedef std::pair<MDKindID, WeakVH> MDPairTy; typedef std::pair<unsigned, WeakVH> MDPairTy;
typedef SmallVector<MDPairTy, 2> MDMapTy; typedef SmallVector<MDPairTy, 2> MDMapTy;
typedef DenseMap<const Instruction *, MDMapTy> MDStoreTy; typedef DenseMap<const Instruction *, MDMapTy> MDStoreTy;
friend class BitcodeReader; friend class BitcodeReader;
@ -328,21 +324,21 @@ private:
public: public:
/// RegisterMDKind - Register a new metadata kind and return its ID. /// RegisterMDKind - Register a new metadata kind and return its ID.
/// A metadata kind can be registered only once. /// A metadata kind can be registered only once.
MDKindID RegisterMDKind(const char *Name); unsigned RegisterMDKind(const char *Name);
/// getMDKind - Return metadata kind. If the requested metadata kind /// getMDKind - Return metadata kind. If the requested metadata kind
/// is not registered then return 0. /// is not registered then return 0.
MDKindID getMDKind(const char *Name); unsigned getMDKind(const char *Name);
/// getMD - Get the metadata of given kind attached with an Instruction. /// getMD - Get the metadata of given kind attached with an Instruction.
/// If the metadata is not found then return 0. /// If the metadata is not found then return 0.
MDNode *getMD(MDKindID Kind, const Instruction *Inst); MDNode *getMD(unsigned Kind, const Instruction *Inst);
/// getMDs - Get the metadata attached with an Instruction. /// getMDs - Get the metadata attached with an Instruction.
const MDMapTy *getMDs(const Instruction *Inst); const MDMapTy *getMDs(const Instruction *Inst);
/// setMD - Attach the metadata of given kind with an Instruction. /// setMD - Attach the metadata of given kind with an Instruction.
void setMD(MDKindID Kind, MDNode *Node, Instruction *Inst); void setMD(unsigned Kind, MDNode *Node, Instruction *Inst);
/// getHandlerNames - Get handler names. This is used by bitcode /// getHandlerNames - Get handler names. This is used by bitcode
/// writer. /// writer.

View File

@ -61,7 +61,7 @@ template<bool preserveNames = true, typename T = ConstantFolder,
class IRBuilder : public Inserter { class IRBuilder : public Inserter {
BasicBlock *BB; BasicBlock *BB;
BasicBlock::iterator InsertPt; BasicBlock::iterator InsertPt;
MDKindID MDKind; unsigned MDKind;
MDNode *CurDbgLocation; MDNode *CurDbgLocation;
LLVMContext &Context; LLVMContext &Context;
T Folder; T Folder;

View File

@ -2657,7 +2657,7 @@ bool LLParser::ParseBasicBlock(PerFunctionState &PFS) {
// Set metadata attached with this instruction. // Set metadata attached with this instruction.
Metadata &TheMetadata = M->getContext().getMetadata(); Metadata &TheMetadata = M->getContext().getMetadata();
for (SmallVector<std::pair<MDKindID, MDNode *>, 2>::iterator for (SmallVector<std::pair<unsigned, MDNode *>, 2>::iterator
MDI = MDsOnInst.begin(), MDE = MDsOnInst.end(); MDI != MDE; ++MDI) MDI = MDsOnInst.begin(), MDE = MDsOnInst.end(); MDI != MDE; ++MDI)
TheMetadata.setMD(MDI->first, MDI->second, Inst); TheMetadata.setMD(MDI->first, MDI->second, Inst);
MDsOnInst.clear(); MDsOnInst.clear();

View File

@ -48,7 +48,7 @@ namespace llvm {
/// MetadataCache - This map keeps track of parsed metadata constants. /// MetadataCache - This map keeps track of parsed metadata constants.
std::map<unsigned, MetadataBase *> MetadataCache; std::map<unsigned, MetadataBase *> MetadataCache;
std::map<unsigned, std::pair<MetadataBase *, LocTy> > ForwardRefMDNodes; std::map<unsigned, std::pair<MetadataBase *, LocTy> > ForwardRefMDNodes;
SmallVector<std::pair<MDKindID, MDNode *>, 2> MDsOnInst; SmallVector<std::pair<unsigned, MDNode *>, 2> MDsOnInst;
struct UpRefRecord { struct UpRefRecord {
/// Loc - This is the location of the upref. /// Loc - This is the location of the upref.
LocTy Loc; LocTy Loc;

View File

@ -836,7 +836,7 @@ bool BitcodeReader::ParseMetadata() {
return Error("Invalid METADATA_KIND record"); return Error("Invalid METADATA_KIND record");
SmallString<8> Name; SmallString<8> Name;
Name.resize(RecordLength-1); Name.resize(RecordLength-1);
MDKindID Kind = Record[0]; unsigned Kind = Record[0];
for (unsigned i = 1; i != RecordLength; ++i) for (unsigned i = 1; i != RecordLength; ++i)
Name[i-1] = Record[i]; Name[i-1] = Record[i];
Metadata &TheMetadata = Context.getMetadata(); Metadata &TheMetadata = Context.getMetadata();
@ -1580,7 +1580,7 @@ bool BitcodeReader::ParseMetadataAttachment() {
return Error ("Invalid METADATA_ATTACHMENT reader!"); return Error ("Invalid METADATA_ATTACHMENT reader!");
Instruction *Inst = InstructionList[Record[0]]; Instruction *Inst = InstructionList[Record[0]];
for (unsigned i = 1; i != RecordLength; i = i+2) { for (unsigned i = 1; i != RecordLength; i = i+2) {
MDKindID Kind = Record[i]; unsigned Kind = Record[i];
Value *Node = MDValueList.getValueFwdRef(Record[i+1]); Value *Node = MDValueList.getValueFwdRef(Record[i+1]);
TheMetadata.setMD(Kind, cast<MDNode>(Node), Inst); TheMetadata.setMD(Kind, cast<MDNode>(Node), Inst);
} }

View File

@ -373,7 +373,7 @@ void SelectionDAGISel::SelectBasicBlock(BasicBlock *LLVMBB,
BasicBlock::iterator End) { BasicBlock::iterator End) {
SDL->setCurrentBasicBlock(BB); SDL->setCurrentBasicBlock(BB);
Metadata &TheMetadata = LLVMBB->getParent()->getContext().getMetadata(); Metadata &TheMetadata = LLVMBB->getParent()->getContext().getMetadata();
MDKindID MDDbgKind = TheMetadata.getMDKind("dbg"); unsigned MDDbgKind = TheMetadata.getMDKind("dbg");
// Lower all of the non-terminator instructions. If a call is emitted // Lower all of the non-terminator instructions. If a call is emitted
// as a tail call, cease emitting nodes for this block. // as a tail call, cease emitting nodes for this block.
@ -656,7 +656,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn,
); );
Metadata &TheMetadata = Fn.getContext().getMetadata(); Metadata &TheMetadata = Fn.getContext().getMetadata();
MDKindID MDDbgKind = TheMetadata.getMDKind("dbg"); unsigned MDDbgKind = TheMetadata.getMDKind("dbg");
// Iterate over all basic blocks in the function. // Iterate over all basic blocks in the function.
for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) { for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {

View File

@ -259,8 +259,8 @@ NamedMDNode::~NamedMDNode() {
/// RegisterMDKind - Register a new metadata kind and return its ID. /// RegisterMDKind - Register a new metadata kind and return its ID.
/// A metadata kind can be registered only once. /// A metadata kind can be registered only once.
MDKindID Metadata::RegisterMDKind(const char *Name) { unsigned Metadata::RegisterMDKind(const char *Name) {
MDKindID Count = MDHandlerNames.size(); unsigned Count = MDHandlerNames.size();
StringMap<unsigned>::iterator I = MDHandlerNames.find(Name); StringMap<unsigned>::iterator I = MDHandlerNames.find(Name);
assert(I == MDHandlerNames.end() && "Already registered MDKind!"); assert(I == MDHandlerNames.end() && "Already registered MDKind!");
MDHandlerNames[Name] = Count + 1; MDHandlerNames[Name] = Count + 1;
@ -269,7 +269,7 @@ MDKindID Metadata::RegisterMDKind(const char *Name) {
/// getMDKind - Return metadata kind. If the requested metadata kind /// getMDKind - Return metadata kind. If the requested metadata kind
/// is not registered then return 0. /// is not registered then return 0.
MDKindID Metadata::getMDKind(const char *Name) { unsigned Metadata::getMDKind(const char *Name) {
StringMap<unsigned>::iterator I = MDHandlerNames.find(Name); StringMap<unsigned>::iterator I = MDHandlerNames.find(Name);
if (I == MDHandlerNames.end()) if (I == MDHandlerNames.end())
return 0; return 0;
@ -278,7 +278,7 @@ MDKindID Metadata::getMDKind(const char *Name) {
} }
/// setMD - Attach the metadata of given kind with an Instruction. /// setMD - Attach the metadata of given kind with an Instruction.
void Metadata::setMD(MDKindID MDKind, MDNode *Node, Instruction *Inst) { void Metadata::setMD(unsigned MDKind, MDNode *Node, Instruction *Inst) {
MDStoreTy::iterator I = MetadataStore.find(Inst); MDStoreTy::iterator I = MetadataStore.find(Inst);
Inst->HasMetadata = true; Inst->HasMetadata = true;
if (I == MetadataStore.end()) { if (I == MetadataStore.end()) {
@ -295,7 +295,7 @@ void Metadata::setMD(MDKindID MDKind, MDNode *Node, Instruction *Inst) {
/// getMD - Get the metadata of given kind attached with an Instruction. /// getMD - Get the metadata of given kind attached with an Instruction.
/// If the metadata is not found then return 0. /// If the metadata is not found then return 0.
MDNode *Metadata::getMD(MDKindID MDKind, const Instruction *Inst) { MDNode *Metadata::getMD(unsigned MDKind, const Instruction *Inst) {
MDNode *Node = NULL; MDNode *Node = NULL;
MDStoreTy::iterator I = MetadataStore.find(Inst); MDStoreTy::iterator I = MetadataStore.find(Inst);
if (I == MetadataStore.end()) if (I == MetadataStore.end())