LLVM API Documentation
#include <LLVMContextImpl.h>
Public Member Functions | |
int | getOrAddScopeRecordIdxEntry (MDNode *N, int ExistingIdx) |
int | getOrAddScopeInlinedAtIdxEntry (MDNode *Scope, MDNode *IA, int ExistingIdx) |
LLVMContextImpl (LLVMContext &C) | |
~LLVMContextImpl () | |
Definition at line 233 of file LLVMContextImpl.h.
Definition at line 266 of file LLVMContextImpl.h.
typedef DenseMap<DenseMapAPFloatKeyInfo::KeyTy, ConstantFP*, DenseMapAPFloatKeyInfo> llvm::LLVMContextImpl::FPMapTy |
Definition at line 247 of file LLVMContextImpl.h.
Definition at line 306 of file LLVMContextImpl.h.
typedef DenseMap<DenseMapAPIntKeyInfo::KeyTy, ConstantInt*, DenseMapAPIntKeyInfo> llvm::LLVMContextImpl::IntMapTy |
Definition at line 243 of file LLVMContextImpl.h.
typedef DenseMap<const Function*, unsigned> llvm::LLVMContextImpl::IntrinsicIDCacheTy |
IntrinsicIDCache - Cache of intrinsic name (string) to numeric ID mappings requested in this context
Definition at line 355 of file LLVMContextImpl.h.
typedef SmallVector<MDPairTy, 2> llvm::LLVMContextImpl::MDMapTy |
Definition at line 329 of file LLVMContextImpl.h.
typedef std::pair<unsigned, TrackingVH<MDNode> > llvm::LLVMContextImpl::MDPairTy |
Definition at line 328 of file LLVMContextImpl.h.
typedef DenseMap<const Function *, ReturnInst *> llvm::LLVMContextImpl::PrefixDataMapTy |
Mapping from a function to its prefix data, which is stored as the operand of an unparented ReturnInst so that the prefix data has a Use.
Definition at line 360 of file LLVMContextImpl.h.
Definition at line 269 of file LLVMContextImpl.h.
Definition at line 308 of file LLVMContextImpl.h.
ValueHandles - This map keeps track of all of the value handles that are watching a Value*. The Value::HasValueHandle bit is used to know whether or not a value has an entry in this map.
Definition at line 322 of file LLVMContextImpl.h.
Definition at line 272 of file LLVMContextImpl.h.
LLVMContextImpl::LLVMContextImpl | ( | LLVMContext & | C | ) |
Definition at line 21 of file LLVMContextImpl.cpp.
References InlineAsmDiagContext, InlineAsmDiagHandler, and NamedStructTypesUniqueID.
LLVMContextImpl::~LLVMContextImpl | ( | ) |
Definition at line 64 of file LLVMContextImpl.cpp.
References llvm::SmallVectorImpl< T >::append(), ArrayConstants, AttrsLists, AttrsSet, AttrsSetNodes, llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallPtrSet< PtrType, SmallSize >::begin(), CAZConstants, CDSConstants, CPNConstants, llvm::DeleteContainerPointers(), llvm::DeleteContainerSeconds(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::SmallPtrSet< PtrType, SmallSize >::end(), ExprConstants, FPConstants, llvm::ConstantAggrUniqueMap< TypeClass, ConstantClass >::freeConstants(), I, InlineAsms, IntConstants, llvm::ConstantAggrUniqueMap< TypeClass, ConstantClass >::map_begin(), llvm::ConstantAggrUniqueMap< TypeClass, ConstantClass >::map_end(), MDNodeSet, MDStringCache, NonUniquedMDNodes, OwnedModules, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorImpl< T >::reserve(), StructConstants, UVConstants, and VectorConstants.
int LLVMContextImpl::getOrAddScopeInlinedAtIdxEntry | ( | MDNode * | Scope, |
MDNode * | IA, | ||
int | ExistingIdx | ||
) |
Definition at line 184 of file DebugLoc.cpp.
References ScopeInlinedAtIdx, and ScopeInlinedAtRecords.
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), and llvm::DebugLoc::get().
int LLVMContextImpl::getOrAddScopeRecordIdxEntry | ( | MDNode * | N, |
int | ExistingIdx | ||
) |
Definition at line 161 of file DebugLoc.cpp.
References ScopeRecordIdx, and ScopeRecords.
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), and llvm::DebugLoc::get().
StructTypeMap llvm::LLVMContextImpl::AnonStructTypes |
Definition at line 309 of file LLVMContextImpl.h.
Referenced by llvm::StructType::get().
ArrayConstantsTy llvm::LLVMContextImpl::ArrayConstants |
Definition at line 267 of file LLVMContextImpl.h.
Referenced by llvm::ConstantArray::destroyConstant(), llvm::ConstantArray::get(), and ~LLVMContextImpl().
Definition at line 313 of file LLVMContextImpl.h.
Referenced by llvm::ArrayType::get().
DenseMap<std::pair<Type*, unsigned>, PointerType*> llvm::LLVMContextImpl::ASPointerTypes |
Definition at line 316 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
FoldingSet<AttributeSetImpl> llvm::LLVMContextImpl::AttrsLists |
Definition at line 251 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
FoldingSet<AttributeImpl> llvm::LLVMContextImpl::AttrsSet |
Definition at line 250 of file LLVMContextImpl.h.
Referenced by llvm::Attribute::get(), and ~LLVMContextImpl().
FoldingSet<AttributeSetNode> llvm::LLVMContextImpl::AttrsSetNodes |
Definition at line 252 of file LLVMContextImpl.h.
Referenced by llvm::AttributeSetNode::get(), and ~LLVMContextImpl().
DenseMap<std::pair<Function*, BasicBlock*> , BlockAddress*> llvm::LLVMContextImpl::BlockAddresses |
Definition at line 282 of file LLVMContextImpl.h.
Referenced by llvm::BlockAddress::destroyConstant(), llvm::BlockAddress::get(), and llvm::BlockAddress::replaceUsesOfWithOnConstant().
DenseMap<Type*, ConstantAggregateZero*> llvm::LLVMContextImpl::CAZConstants |
Definition at line 264 of file LLVMContextImpl.h.
Referenced by llvm::ConstantAggregateZero::destroyConstant(), llvm::ConstantAggregateZero::get(), and ~LLVMContextImpl().
StringMap<ConstantDataSequential*> llvm::LLVMContextImpl::CDSConstants |
Definition at line 279 of file LLVMContextImpl.h.
Referenced by llvm::ConstantDataSequential::destroyConstant(), llvm::ConstantDataSequential::getImpl(), and ~LLVMContextImpl().
DenseMap<PointerType*, ConstantPointerNull*> llvm::LLVMContextImpl::CPNConstants |
Definition at line 275 of file LLVMContextImpl.h.
Referenced by llvm::ConstantPointerNull::destroyConstant(), llvm::ConstantPointerNull::get(), and ~LLVMContextImpl().
CustomMDKindNames - Map to hold the metadata string to ID mapping.
Definition at line 326 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getMDKindID(), and llvm::LLVMContext::getMDKindNames().
Type llvm::LLVMContextImpl::DoubleTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getDoubleTy().
ConstantUniqueMap<ExprMapKeyType, const ExprMapKeyType&, Type, ConstantExpr> llvm::LLVMContextImpl::ExprConstants |
Definition at line 284 of file LLVMContextImpl.h.
Referenced by llvm::ConstantExpr::destroyConstant(), llvm::ConstantExpr::get(), llvm::ConstantExpr::getExtractElement(), llvm::ConstantExpr::getExtractValue(), llvm::ConstantExpr::getFCmp(), getFoldedCast(), llvm::ConstantExpr::getGetElementPtr(), llvm::ConstantExpr::getICmp(), llvm::ConstantExpr::getInsertElement(), llvm::ConstantExpr::getInsertValue(), llvm::ConstantExpr::getSelect(), llvm::ConstantExpr::getShuffleVector(), and ~LLVMContextImpl().
Type llvm::LLVMContextImpl::FloatTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getFloatTy().
Type llvm::LLVMContextImpl::FP128Ty |
Definition at line 296 of file LLVMContextImpl.h.
Referenced by llvm::Type::getFP128Ty().
FPMapTy llvm::LLVMContextImpl::FPConstants |
Definition at line 248 of file LLVMContextImpl.h.
Referenced by llvm::ConstantFP::get(), and ~LLVMContextImpl().
FunctionTypeMap llvm::LLVMContextImpl::FunctionTypes |
Definition at line 307 of file LLVMContextImpl.h.
Referenced by llvm::FunctionType::get().
Type llvm::LLVMContextImpl::HalfTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getHalfTy().
void* llvm::LLVMContextImpl::InlineAsmDiagContext |
Definition at line 240 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::emitError(), llvm::LLVMContext::getInlineAsmDiagnosticContext(), LLVMContextImpl(), and llvm::LLVMContext::setInlineAsmDiagnosticHandler().
LLVMContext::InlineAsmDiagHandlerTy llvm::LLVMContextImpl::InlineAsmDiagHandler |
Definition at line 239 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::emitError(), llvm::LLVMContext::getInlineAsmDiagnosticHandler(), LLVMContextImpl(), and llvm::LLVMContext::setInlineAsmDiagnosticHandler().
ConstantUniqueMap<InlineAsmKeyType, const InlineAsmKeyType&, PointerType, InlineAsm> llvm::LLVMContextImpl::InlineAsms |
Definition at line 287 of file LLVMContextImpl.h.
Referenced by llvm::InlineAsm::get(), and ~LLVMContextImpl().
IntegerType llvm::LLVMContextImpl::Int16Ty |
Definition at line 297 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt16Ty().
IntegerType llvm::LLVMContextImpl::Int1Ty |
Definition at line 297 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt1Ty().
IntegerType llvm::LLVMContextImpl::Int32Ty |
Definition at line 297 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt32Ty().
IntegerType llvm::LLVMContextImpl::Int64Ty |
Definition at line 297 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt64Ty().
IntegerType llvm::LLVMContextImpl::Int8Ty |
Definition at line 297 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt8Ty().
IntMapTy llvm::LLVMContextImpl::IntConstants |
Definition at line 244 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
DenseMap<unsigned, IntegerType*> llvm::LLVMContextImpl::IntegerTypes |
Definition at line 304 of file LLVMContextImpl.h.
Referenced by llvm::IntegerType::get().
IntrinsicIDCacheTy llvm::LLVMContextImpl::IntrinsicIDCache |
Definition at line 356 of file LLVMContextImpl.h.
Referenced by llvm::Function::getIntrinsicID(), llvm::Value::setName(), and llvm::Function::~Function().
Type llvm::LLVMContextImpl::LabelTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getLabelTy().
LeakDetectorImpl<Value> llvm::LLVMContextImpl::LLVMObjects |
Definition at line 292 of file LLVMContextImpl.h.
Referenced by clearGarbage().
FoldingSet<MDNode> llvm::LLVMContextImpl::MDNodeSet |
Definition at line 256 of file LLVMContextImpl.h.
Referenced by llvm::MDNode::deleteTemporary(), and ~LLVMContextImpl().
Definition at line 254 of file LLVMContextImpl.h.
Referenced by llvm::MDString::get(), and ~LLVMContextImpl().
DenseMap<const Instruction *, MDMapTy> llvm::LLVMContextImpl::MetadataStore |
MetadataStore - Collection of per-instruction metadata used in this context.
Definition at line 333 of file LLVMContextImpl.h.
Referenced by llvm::Instruction::setMetadata().
Type llvm::LLVMContextImpl::MetadataTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getMetadataTy().
StringMap<StructType*> llvm::LLVMContextImpl::NamedStructTypes |
Definition at line 310 of file LLVMContextImpl.h.
Referenced by llvm::Module::getTypeByName(), and llvm::StructType::setName().
unsigned llvm::LLVMContextImpl::NamedStructTypesUniqueID |
Definition at line 311 of file LLVMContextImpl.h.
Referenced by LLVMContextImpl(), and llvm::StructType::setName().
SmallPtrSet<MDNode*, 1> llvm::LLVMContextImpl::NonUniquedMDNodes |
Definition at line 262 of file LLVMContextImpl.h.
Referenced by llvm::MDNode::deleteTemporary(), and ~LLVMContextImpl().
SmallPtrSet<Module*, 4> llvm::LLVMContextImpl::OwnedModules |
OwnedModules - The set of modules instantiated in this context, and which will be automatically deleted if this context is deleted.
Definition at line 237 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
DenseMap<Type*, PointerType*> llvm::LLVMContextImpl::PointerTypes |
Definition at line 315 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
Type llvm::LLVMContextImpl::PPC_FP128Ty |
Definition at line 296 of file LLVMContextImpl.h.
Referenced by llvm::Type::getPPC_FP128Ty().
PrefixDataMapTy llvm::LLVMContextImpl::PrefixDataMap |
Definition at line 361 of file LLVMContextImpl.h.
Referenced by llvm::Function::getPrefixData(), and llvm::Function::setPrefixData().
ScopeInlinedAtIdx - This is the index in ScopeInlinedAtRecords for an scope/inlined-at pair.
Definition at line 346 of file LLVMContextImpl.h.
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), and getOrAddScopeInlinedAtIdxEntry().
std::vector<std::pair<DebugRecVH, DebugRecVH> > llvm::LLVMContextImpl::ScopeInlinedAtRecords |
ScopeInlinedAtRecords - These are the actual mdnodes (in value handles) for an index. The ValueHandle ensures that ScopeINlinedAtIdx stays up to date.
Definition at line 351 of file LLVMContextImpl.h.
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), llvm::DebugLoc::getInlinedAt(), getOrAddScopeInlinedAtIdxEntry(), llvm::DebugLoc::getScope(), and llvm::DebugLoc::getScopeAndInlinedAt().
ScopeRecordIdx - This is the index in ScopeRecords for an MDNode scope entry with no "inlined at" element.
Definition at line 337 of file LLVMContextImpl.h.
Referenced by llvm::DebugRecVH::allUsesReplacedWith(), llvm::DebugRecVH::deleted(), and getOrAddScopeRecordIdxEntry().
std::vector<DebugRecVH> llvm::LLVMContextImpl::ScopeRecords |
ScopeRecords - These are the actual mdnodes (in a value handle) for an index. The ValueHandle ensures that ScopeRecordIdx stays up to date if the MDNode is RAUW'd.
Definition at line 342 of file LLVMContextImpl.h.
Referenced by getOrAddScopeRecordIdxEntry(), llvm::DebugLoc::getScope(), and llvm::DebugLoc::getScopeAndInlinedAt().
StructConstantsTy llvm::LLVMContextImpl::StructConstants |
Definition at line 270 of file LLVMContextImpl.h.
Referenced by llvm::ConstantStruct::destroyConstant(), llvm::ConstantStruct::get(), llvm::ConstantStruct::replaceUsesOfWithOnConstant(), and ~LLVMContextImpl().
ConstantInt* llvm::LLVMContextImpl::TheFalseVal |
Definition at line 290 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getFalse().
ConstantInt* llvm::LLVMContextImpl::TheTrueVal |
Definition at line 289 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getTrue().
BumpPtrAllocator llvm::LLVMContextImpl::TypeAllocator |
TypeAllocator - All dynamically allocated types are allocated from this. They live forever until the context is torn down.
Definition at line 302 of file LLVMContextImpl.h.
Referenced by llvm::StructType::create(), llvm::IntegerType::get(), llvm::FunctionType::get(), llvm::StructType::get(), llvm::ArrayType::get(), llvm::VectorType::get(), llvm::PointerType::get(), and llvm::StructType::setBody().
DenseMap<Type*, UndefValue*> llvm::LLVMContextImpl::UVConstants |
Definition at line 277 of file LLVMContextImpl.h.
Referenced by llvm::UndefValue::destroyConstant(), llvm::UndefValue::get(), and ~LLVMContextImpl().
ValueHandlesTy llvm::LLVMContextImpl::ValueHandles |
Definition at line 323 of file LLVMContextImpl.h.
Referenced by llvm::ValueHandleBase::ValueIsDeleted(), and llvm::ValueHandleBase::ValueIsRAUWd().
VectorConstantsTy llvm::LLVMContextImpl::VectorConstants |
Definition at line 273 of file LLVMContextImpl.h.
Referenced by llvm::ConstantVector::destroyConstant(), and ~LLVMContextImpl().
DenseMap<std::pair<Type *, unsigned>, VectorType*> llvm::LLVMContextImpl::VectorTypes |
Definition at line 314 of file LLVMContextImpl.h.
Referenced by llvm::VectorType::get().
Type llvm::LLVMContextImpl::VoidTy |
Definition at line 295 of file LLVMContextImpl.h.
Referenced by llvm::Type::getVoidTy().
Type llvm::LLVMContextImpl::X86_FP80Ty |
Definition at line 296 of file LLVMContextImpl.h.
Referenced by llvm::Type::getX86_FP80Ty().
Type llvm::LLVMContextImpl::X86_MMXTy |
Definition at line 296 of file LLVMContextImpl.h.
Referenced by llvm::Type::getX86_MMXTy().