Add getOrInsertNamedMetadata().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77646 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-07-30 23:59:04 +00:00
parent f1da1f5f97
commit 49fe6c914c
2 changed files with 22 additions and 6 deletions

View File

@ -303,11 +303,16 @@ public:
/// @name Named Metadata Accessors
/// @{
public:
/// getNamedMetadata - Return the first named MDNode in the module with the
/// specified name. This method returns null if a MDNode with the specified
/// name is not found.
/// getNamedMetadata - Return the first NamedMDNode in the module with the
/// specified name. This method returns null if a NamedMDNode with the
/// specified name is not found.
NamedMDNode *getNamedMetadata(const StringRef &Name) const;
/// getOrInsertNamedMetadata - Return the first named MDNode in the module
/// with the specified name. This method returns a new NamedMDNode if a
/// NamedMDNode with the specified name is not found.
NamedMDNode *getOrInsertNamedMetadata(const StringRef &Name);
/// @}
/// @name Type Accessors
/// @{

View File

@ -289,13 +289,24 @@ GlobalAlias *Module::getNamedAlias(const StringRef &Name) const {
return dyn_cast_or_null<GlobalAlias>(getNamedValue(Name));
}
/// getNamedMetadata - Return the first named MDNode in the module with the
/// specified name. This method returns null if a MDNode with the specified
/// name is not found.
/// getNamedMetadata - Return the first NamedMDNode in the module with the
/// specified name. This method returns null if a NamedMDNode with the
//// specified name is not found.
NamedMDNode *Module::getNamedMetadata(const StringRef &Name) const {
return dyn_cast_or_null<NamedMDNode>(getValueSymbolTable().lookup(Name));
}
/// getOrInsertNamedMetadata - Return the first named MDNode in the module
/// with the specified name. This method returns a new NamedMDNode if a
/// NamedMDNode with the specified name is not found.
NamedMDNode *Module::getOrInsertNamedMetadata(const StringRef &Name) {
NamedMDNode *NMD =
dyn_cast_or_null<NamedMDNode>(getValueSymbolTable().lookup(Name));
if (!NMD)
NMD = NamedMDNode::Create(Name, NULL, 0, this);
return NMD;
}
//===----------------------------------------------------------------------===//
// Methods for easy access to the types in the module.
//