forked from OSchip/llvm-project
parent
ed31cc2a99
commit
b1a4477f1f
|
@ -307,13 +307,9 @@ public:
|
|||
/// Metadata -
|
||||
/// 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 {
|
||||
public:
|
||||
typedef std::pair<MDKindID, WeakVH> MDPairTy;
|
||||
typedef std::pair<unsigned, WeakVH> MDPairTy;
|
||||
typedef SmallVector<MDPairTy, 2> MDMapTy;
|
||||
typedef DenseMap<const Instruction *, MDMapTy> MDStoreTy;
|
||||
friend class BitcodeReader;
|
||||
|
@ -328,21 +324,21 @@ private:
|
|||
public:
|
||||
/// RegisterMDKind - Register a new metadata kind and return its ID.
|
||||
/// 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
|
||||
/// 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.
|
||||
/// 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.
|
||||
const MDMapTy *getMDs(const Instruction *Inst);
|
||||
|
||||
/// 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
|
||||
/// writer.
|
||||
|
|
|
@ -61,7 +61,7 @@ template<bool preserveNames = true, typename T = ConstantFolder,
|
|||
class IRBuilder : public Inserter {
|
||||
BasicBlock *BB;
|
||||
BasicBlock::iterator InsertPt;
|
||||
MDKindID MDKind;
|
||||
unsigned MDKind;
|
||||
MDNode *CurDbgLocation;
|
||||
LLVMContext &Context;
|
||||
T Folder;
|
||||
|
|
|
@ -2657,7 +2657,7 @@ bool LLParser::ParseBasicBlock(PerFunctionState &PFS) {
|
|||
|
||||
// Set metadata attached with this instruction.
|
||||
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)
|
||||
TheMetadata.setMD(MDI->first, MDI->second, Inst);
|
||||
MDsOnInst.clear();
|
||||
|
|
|
@ -48,7 +48,7 @@ namespace llvm {
|
|||
/// MetadataCache - This map keeps track of parsed metadata constants.
|
||||
std::map<unsigned, MetadataBase *> MetadataCache;
|
||||
std::map<unsigned, std::pair<MetadataBase *, LocTy> > ForwardRefMDNodes;
|
||||
SmallVector<std::pair<MDKindID, MDNode *>, 2> MDsOnInst;
|
||||
SmallVector<std::pair<unsigned, MDNode *>, 2> MDsOnInst;
|
||||
struct UpRefRecord {
|
||||
/// Loc - This is the location of the upref.
|
||||
LocTy Loc;
|
||||
|
|
|
@ -836,7 +836,7 @@ bool BitcodeReader::ParseMetadata() {
|
|||
return Error("Invalid METADATA_KIND record");
|
||||
SmallString<8> Name;
|
||||
Name.resize(RecordLength-1);
|
||||
MDKindID Kind = Record[0];
|
||||
unsigned Kind = Record[0];
|
||||
for (unsigned i = 1; i != RecordLength; ++i)
|
||||
Name[i-1] = Record[i];
|
||||
Metadata &TheMetadata = Context.getMetadata();
|
||||
|
@ -1580,7 +1580,7 @@ bool BitcodeReader::ParseMetadataAttachment() {
|
|||
return Error ("Invalid METADATA_ATTACHMENT reader!");
|
||||
Instruction *Inst = InstructionList[Record[0]];
|
||||
for (unsigned i = 1; i != RecordLength; i = i+2) {
|
||||
MDKindID Kind = Record[i];
|
||||
unsigned Kind = Record[i];
|
||||
Value *Node = MDValueList.getValueFwdRef(Record[i+1]);
|
||||
TheMetadata.setMD(Kind, cast<MDNode>(Node), Inst);
|
||||
}
|
||||
|
|
|
@ -373,7 +373,7 @@ void SelectionDAGISel::SelectBasicBlock(BasicBlock *LLVMBB,
|
|||
BasicBlock::iterator End) {
|
||||
SDL->setCurrentBasicBlock(BB);
|
||||
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
|
||||
// as a tail call, cease emitting nodes for this block.
|
||||
|
@ -656,7 +656,7 @@ void SelectionDAGISel::SelectAllBasicBlocks(Function &Fn,
|
|||
);
|
||||
|
||||
Metadata &TheMetadata = Fn.getContext().getMetadata();
|
||||
MDKindID MDDbgKind = TheMetadata.getMDKind("dbg");
|
||||
unsigned MDDbgKind = TheMetadata.getMDKind("dbg");
|
||||
|
||||
// Iterate over all basic blocks in the function.
|
||||
for (Function::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {
|
||||
|
|
|
@ -259,8 +259,8 @@ NamedMDNode::~NamedMDNode() {
|
|||
|
||||
/// RegisterMDKind - Register a new metadata kind and return its ID.
|
||||
/// A metadata kind can be registered only once.
|
||||
MDKindID Metadata::RegisterMDKind(const char *Name) {
|
||||
MDKindID Count = MDHandlerNames.size();
|
||||
unsigned Metadata::RegisterMDKind(const char *Name) {
|
||||
unsigned Count = MDHandlerNames.size();
|
||||
StringMap<unsigned>::iterator I = MDHandlerNames.find(Name);
|
||||
assert(I == MDHandlerNames.end() && "Already registered MDKind!");
|
||||
MDHandlerNames[Name] = Count + 1;
|
||||
|
@ -269,7 +269,7 @@ MDKindID Metadata::RegisterMDKind(const char *Name) {
|
|||
|
||||
/// getMDKind - Return metadata kind. If the requested metadata kind
|
||||
/// 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);
|
||||
if (I == MDHandlerNames.end())
|
||||
return 0;
|
||||
|
@ -278,7 +278,7 @@ MDKindID Metadata::getMDKind(const char *Name) {
|
|||
}
|
||||
|
||||
/// 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);
|
||||
Inst->HasMetadata = true;
|
||||
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.
|
||||
/// 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;
|
||||
MDStoreTy::iterator I = MetadataStore.find(Inst);
|
||||
if (I == MetadataStore.end())
|
||||
|
|
Loading…
Reference in New Issue