|
LLVM
3.7.0
|
Subprogram description. More...
#include <DebugInfoMetadata.h>
Static Public Member Functions | |
| static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DILocalScope | |
| static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DIScope | |
| static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::DINode | |
| static unsigned | getFlag (StringRef Flag) |
| static const char * | getFlagString (unsigned Flag) |
| static unsigned | splitFlags (unsigned Flags, SmallVectorImpl< unsigned > &SplitFlags) |
| Split up a flags bitfield. More... | |
| static bool | classof (const Metadata *MD) |
Static Public Member Functions inherited from llvm::MDNode | |
| static MDTuple * | get (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getIfExists (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static MDTuple * | getDistinct (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static TempMDTuple | getTemporary (LLVMContext &Context, ArrayRef< Metadata * > MDs) |
| static void | deleteTemporary (MDNode *N) |
| Deallocate a node created by getTemporary. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithPermanent (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a permanent one. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithUniqued (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a uniqued one. More... | |
| template<class T > | |
| static std::enable_if < std::is_base_of< MDNode, T > ::value, T * >::type | replaceWithDistinct (std::unique_ptr< T, TempMDNodeDeleter > N) |
| Replace a temporary node with a distinct one. More... | |
| static bool | classof (const Metadata *MD) |
| Methods for support type inquiry through isa, cast, and dyn_cast: More... | |
| static MDNode * | concatenate (MDNode *A, MDNode *B) |
| Methods for metadata merging. More... | |
| static MDNode * | intersect (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericTBAA (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericFPMath (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericRange (MDNode *A, MDNode *B) |
| static MDNode * | getMostGenericAliasScope (MDNode *A, MDNode *B) |
Friends | |
| class | LLVMContextImpl |
| class | MDNode |
Subprogram description.
TODO: Remove DisplayName. It's always equal to Name. TODO: Split up flags.
Definition at line 1249 of file DebugInfoMetadata.h.
Definition at line 1438 of file DebugInfoMetadata.h.
References llvm::Metadata::DISubprogramKind, and llvm::Metadata::getMetadataID().
| llvm::DISubprogram::DEFINE_MDNODE_GET | ( | DISubprogram | , |
| (DIScopeRef Scope, StringRef Name, StringRef LinkageName,DIFile *File, unsigned Line, DISubroutineType *Type,bool IsLocalToUnit, bool IsDefinition, unsigned ScopeLine,DITypeRef ContainingType, unsigned Virtuality,unsigned VirtualIndex, unsigned Flags, bool IsOptimized,Constant *Function=nullptr,DITemplateParameterArray TemplateParams=nullptr,DISubprogram *Declaration=nullptr,DILocalVariableArray Variables=nullptr) | , | ||
| (Scope, Name, LinkageName, File, Line, Type, IsLocalToUnit,IsDefinition, ScopeLine, ContainingType, Virtuality,VirtualIndex, Flags, IsOptimized, Function, TemplateParams,Declaration, Variables) | |||
| ) |
Check if this subprogram decribes the given function.
FIXME: Should this be looking through bitcasts?
Definition at line 373 of file DebugInfoMetadata.cpp.
References llvm::StringRef::empty(), llvm::Value::getName(), llvm::DIScope::getName(), and Name.
| void DISubprogram::replaceFunction | ( | Function * | F | ) |
Replace the function.
If isUniqued() and not isResolved(), this could node will be RAUW'ed and deleted out from under the caller. Use a TrackingMDRef if that's a problem.
Definition at line 383 of file DebugInfoMetadata.cpp.
References llvm::ConstantAsMetadata::get().
|
inline |
Definition at line 1429 of file DebugInfoMetadata.h.
References llvm::MDNode::replaceOperandWith().
|
inline |
Definition at line 1430 of file DebugInfoMetadata.h.
References llvm::MDNode::replaceOperandWith().
|
friend |
Definition at line 1250 of file DebugInfoMetadata.h.
|
friend |
Definition at line 1251 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata* llvm::DISubprogram::ContainingType |
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned bool Metadata Metadata Metadata* llvm::DISubprogram::Declaration = nullptr |
Definition at line 1330 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned llvm::DISubprogram::Flags |
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned bool Metadata* llvm::DISubprogram::Function = nullptr |
Definition at line 1329 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned bool llvm::DISubprogram::IsOptimized |
Definition at line 1325 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
Referenced by describes().
| Metadata* llvm::DISubprogram::Scope |
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned llvm::DISubprogram::ScopeLine |
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned bool Metadata Metadata* llvm::DISubprogram::TemplateParams = nullptr |
Definition at line 1329 of file DebugInfoMetadata.h.
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned unsigned bool Metadata Metadata Metadata Metadata* llvm::DISubprogram::Variables |
Definition at line 1330 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned unsigned llvm::DISubprogram::VirtualIndex |
Definition at line 1325 of file DebugInfoMetadata.h.
| Metadata MDString MDString Metadata unsigned Metadata bool bool unsigned Metadata unsigned llvm::DISubprogram::Virtuality |
Definition at line 1325 of file DebugInfoMetadata.h.
1.8.6