|
LLVM
4.0.0
|
#include <LLVMContextImpl.h>
Public Types | |
| typedef DenseMap< APInt, std::unique_ptr< ConstantInt > , DenseMapAPIntKeyInfo > | IntMapTy |
| typedef DenseMap< APFloat, std::unique_ptr< ConstantFP > , DenseMapAPFloatKeyInfo > | FPMapTy |
| typedef ConstantUniqueMap < ConstantArray > | ArrayConstantsTy |
| typedef ConstantUniqueMap < ConstantStruct > | StructConstantsTy |
| typedef ConstantUniqueMap < ConstantVector > | VectorConstantsTy |
| typedef DenseSet< FunctionType *, FunctionTypeKeyInfo > | FunctionTypeSet |
| typedef DenseSet< StructType *, AnonStructTypeKeyInfo > | StructTypeSet |
| typedef DenseMap< Value *, ValueHandleBase * > | ValueHandlesTy |
| ValueHandles - This map keeps track of all of the value handles that are watching a Value*. More... | |
Public Member Functions | |
| int | getOrAddScopeRecordIdxEntry (MDNode *N, int ExistingIdx) |
| int | getOrAddScopeInlinedAtIdxEntry (MDNode *Scope, MDNode *IA, int ExistingIdx) |
| StringMapEntry< uint32_t > * | getOrInsertBundleTag (StringRef Tag) |
| void | getOperandBundleTags (SmallVectorImpl< StringRef > &Tags) const |
| uint32_t | getOperandBundleTagID (StringRef Tag) const |
| LLVMContextImpl (LLVMContext &C) | |
| ~LLVMContextImpl () | |
| void | dropTriviallyDeadConstantArrays () |
| Destroy the ConstantArrays if they are not used. More... | |
| OptBisect & | getOptBisect () |
| Access the object which manages optimization bisection for failure analysis. More... | |
Definition at line 1081 of file LLVMContextImpl.h.
Definition at line 1132 of file LLVMContextImpl.h.
| typedef DenseMap<APFloat, std::unique_ptr<ConstantFP>, DenseMapAPFloatKeyInfo> llvm::LLVMContextImpl::FPMapTy |
Definition at line 1104 of file LLVMContextImpl.h.
Definition at line 1170 of file LLVMContextImpl.h.
| typedef DenseMap<APInt, std::unique_ptr<ConstantInt>, DenseMapAPIntKeyInfo> llvm::LLVMContextImpl::IntMapTy |
Definition at line 1100 of file LLVMContextImpl.h.
Definition at line 1135 of file LLVMContextImpl.h.
Definition at line 1172 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 1186 of file LLVMContextImpl.h.
Definition at line 1138 of file LLVMContextImpl.h.
| LLVMContextImpl::LLVMContextImpl | ( | LLVMContext & | C | ) |
Definition at line 24 of file LLVMContextImpl.cpp.
References DiagnosticContext, DiagnosticHandler, DiagnosticHotnessRequested, InlineAsmDiagContext, InlineAsmDiagHandler, NamedStructTypesUniqueID, RespectDiagnosticFilters, YieldCallback, and YieldOpaqueHandle.
| LLVMContextImpl::~LLVMContextImpl | ( | ) |
Definition at line 54 of file LLVMContextImpl.cpp.
References ArrayConstants, AttrsLists, AttrsSet, AttrsSetNodes, llvm::SmallPtrSetImpl< PtrType >::begin(), CAZConstants, CDSConstants, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), CPNConstants, DistinctMDNodes, E, llvm::SmallPtrSetImplBase::empty(), ExprConstants, FPConstants, I, InlineAsms, IntConstants, MetadataAsValues, OwnedModules, llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), llvm::SmallVectorImpl< T >::reserve(), StructConstants, UVConstants, ValuesAsMetadata, and VectorConstants.
| void LLVMContextImpl::dropTriviallyDeadConstantArrays | ( | ) |
Destroy the ConstantArrays if they are not used.
Definition at line 146 of file LLVMContextImpl.cpp.
References ArrayConstants, llvm::ConstantUniqueMap< ConstantClass >::begin(), C, E, llvm::ConstantUniqueMap< ConstantClass >::end(), and I.
Referenced by llvm::Module::dropTriviallyDeadConstantArrays().
Definition at line 211 of file LLVMContextImpl.cpp.
References assert(), BundleTagCache, llvm::StringMap< ValueTy, AllocatorTy >::end(), llvm::StringMap< ValueTy, AllocatorTy >::find(), and I.
Referenced by llvm::LLVMContext::getOperandBundleTagID().
| void LLVMContextImpl::getOperandBundleTags | ( | SmallVectorImpl< StringRef > & | Tags | ) | const |
Definition at line 205 of file LLVMContextImpl.cpp.
References BundleTagCache, llvm::SmallVectorImpl< T >::resize(), and llvm::StringMapImpl::size().
Referenced by llvm::LLVMContext::getOperandBundleTags().
| OptBisect & LLVMContextImpl::getOptBisect | ( | ) |
Access the object which manages optimization bisection for failure analysis.
Definition at line 251 of file LLVMContextImpl.cpp.
References OptBisector.
Referenced by llvm::LLVMContext::getOptBisect().
| int llvm::LLVMContextImpl::getOrAddScopeInlinedAtIdxEntry | ( | MDNode * | Scope, |
| MDNode * | IA, | ||
| int | ExistingIdx | ||
| ) |
| int llvm::LLVMContextImpl::getOrAddScopeRecordIdxEntry | ( | MDNode * | N, |
| int | ExistingIdx | ||
| ) |
| StringMapEntry< uint32_t > * LLVMContextImpl::getOrInsertBundleTag | ( | StringRef | Tag | ) |
Definition at line 200 of file LLVMContextImpl.cpp.
References BundleTagCache, llvm::StringMap< ValueTy, AllocatorTy >::insert(), and llvm::StringMapImpl::size().
Referenced by llvm::LLVMContext::LLVMContext().
| StructTypeSet llvm::LLVMContextImpl::AnonStructTypes |
Definition at line 1173 of file LLVMContextImpl.h.
Referenced by llvm::StructType::get().
| ArrayConstantsTy llvm::LLVMContextImpl::ArrayConstants |
Definition at line 1133 of file LLVMContextImpl.h.
Referenced by dropTriviallyDeadConstantArrays(), llvm::ConstantArray::get(), and ~LLVMContextImpl().
Definition at line 1177 of file LLVMContextImpl.h.
Referenced by llvm::ArrayType::get().
| DenseMap<std::pair<Type*, unsigned>, PointerType*> llvm::LLVMContextImpl::ASPointerTypes |
Definition at line 1180 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
| FoldingSet<AttributeSetImpl> llvm::LLVMContextImpl::AttrsLists |
Definition at line 1108 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
| FoldingSet<AttributeImpl> llvm::LLVMContextImpl::AttrsSet |
Definition at line 1107 of file LLVMContextImpl.h.
Referenced by llvm::Attribute::get(), and ~LLVMContextImpl().
| FoldingSet<AttributeSetNode> llvm::LLVMContextImpl::AttrsSetNodes |
Definition at line 1109 of file LLVMContextImpl.h.
Referenced by llvm::AttributeSetNode::get(), and ~LLVMContextImpl().
| DenseMap<std::pair<const Function *, const BasicBlock *>, BlockAddress *> llvm::LLVMContextImpl::BlockAddresses |
Definition at line 1148 of file LLVMContextImpl.h.
Referenced by llvm::BlockAddress::get(), and llvm::BlockAddress::lookup().
A set of interned tags for operand bundles.
The StringMap maps bundle tags to their IDs.
Definition at line 1216 of file LLVMContextImpl.h.
Referenced by getOperandBundleTagID(), getOperandBundleTags(), and getOrInsertBundleTag().
| DenseMap<Type *, std::unique_ptr<ConstantAggregateZero> > llvm::LLVMContextImpl::CAZConstants |
Definition at line 1130 of file LLVMContextImpl.h.
Referenced by llvm::ConstantAggregateZero::get(), and ~LLVMContextImpl().
| StringMap<ConstantDataSequential*> llvm::LLVMContextImpl::CDSConstants |
Definition at line 1145 of file LLVMContextImpl.h.
Referenced by llvm::ConstantDataSequential::getImpl(), and ~LLVMContextImpl().
| DenseMap<PointerType *, std::unique_ptr<ConstantPointerNull> > llvm::LLVMContextImpl::CPNConstants |
Definition at line 1141 of file LLVMContextImpl.h.
Referenced by llvm::ConstantPointerNull::get(), and ~LLVMContextImpl().
CustomMDKindNames - Map to hold the metadata string to ID mapping.
Definition at line 1190 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getMDKindID(), and llvm::LLVMContext::getMDKindNames().
| void* llvm::LLVMContextImpl::DiagnosticContext |
Definition at line 1091 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::diagnose(), llvm::LLVMContext::getDiagnosticContext(), LLVMContextImpl(), and llvm::LLVMContext::setDiagnosticHandler().
| LLVMContext::DiagnosticHandlerTy llvm::LLVMContextImpl::DiagnosticHandler |
Definition at line 1090 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::diagnose(), llvm::LLVMContext::getDiagnosticHandler(), LLVMContextImpl(), and llvm::LLVMContext::setDiagnosticHandler().
| bool llvm::LLVMContextImpl::DiagnosticHotnessRequested |
Definition at line 1093 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDiagnosticHotnessRequested(), LLVMContextImpl(), and llvm::LLVMContext::setDiagnosticHotnessRequested().
| std::unique_ptr<yaml::Output> llvm::LLVMContextImpl::DiagnosticsOutputFile |
Definition at line 1094 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getDiagnosticsOutputFile(), and llvm::LLVMContext::setDiagnosticsOutputFile().
Flag to indicate if Value (other than GlobalValue) retains their name or not.
Definition at line 1231 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::setDiscardValueNames(), and llvm::LLVMContext::shouldDiscardValueNames().
DiscriminatorTable - This table maps file:line locations to an integer representing the next DWARF path discriminator to assign to instructions in different blocks at the same location.
Definition at line 1207 of file LLVMContextImpl.h.
| std::vector<MDNode *> llvm::LLVMContextImpl::DistinctMDNodes |
Definition at line 1128 of file LLVMContextImpl.h.
Referenced by llvm::MDNode::storeDistinctInContext(), and ~LLVMContextImpl().
| Optional<DenseMap<const MDString *, DICompositeType *> > llvm::LLVMContextImpl::DITypeMap |
| Type llvm::LLVMContextImpl::DoubleTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getDoubleTy().
| ConstantUniqueMap<ConstantExpr> llvm::LLVMContextImpl::ExprConstants |
Definition at line 1149 of file LLVMContextImpl.h.
Referenced by 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 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getFloatTy().
| Type llvm::LLVMContextImpl::FP128Ty |
Definition at line 1160 of file LLVMContextImpl.h.
Referenced by llvm::Type::getFP128Ty().
| FPMapTy llvm::LLVMContextImpl::FPConstants |
Definition at line 1105 of file LLVMContextImpl.h.
Referenced by llvm::ConstantFP::get(), and ~LLVMContextImpl().
| FunctionTypeSet llvm::LLVMContextImpl::FunctionTypes |
Definition at line 1171 of file LLVMContextImpl.h.
Referenced by llvm::FunctionType::get().
Maintain the GC name for each function.
This saves allocating an additional word in Function for programs which do not use GC (i.e., most programs) at the cost of increased overhead for clients which do use GC.
Definition at line 1227 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::deleteGC(), llvm::LLVMContext::getGC(), and llvm::LLVMContext::setGC().
| DenseMap<const GlobalObject *, MDGlobalAttachmentMap> llvm::LLVMContextImpl::GlobalObjectMetadata |
Collection of per-GlobalObject metadata used in this context.
Definition at line 1196 of file LLVMContextImpl.h.
Referenced by llvm::GlobalObject::addMetadata(), llvm::GlobalObject::clearMetadata(), llvm::GlobalObject::eraseMetadata(), llvm::GlobalObject::getAllMetadata(), and llvm::GlobalObject::getMetadata().
| DenseMap<const GlobalObject *, StringRef> llvm::LLVMContextImpl::GlobalObjectSections |
Collection of per-GlobalObject sections used in this context.
Definition at line 1199 of file LLVMContextImpl.h.
Referenced by llvm::GlobalObject::setSection().
| Type llvm::LLVMContextImpl::HalfTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getHalfTy().
| void* llvm::LLVMContextImpl::InlineAsmDiagContext |
Definition at line 1088 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getInlineAsmDiagnosticContext(), LLVMContextImpl(), and llvm::LLVMContext::setInlineAsmDiagnosticHandler().
| LLVMContext::InlineAsmDiagHandlerTy llvm::LLVMContextImpl::InlineAsmDiagHandler |
Definition at line 1087 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::getInlineAsmDiagnosticHandler(), LLVMContextImpl(), and llvm::LLVMContext::setInlineAsmDiagnosticHandler().
| ConstantUniqueMap<InlineAsm> llvm::LLVMContextImpl::InlineAsms |
Definition at line 1151 of file LLVMContextImpl.h.
Referenced by llvm::InlineAsm::get(), and ~LLVMContextImpl().
| DenseMap<const Instruction *, MDAttachmentMap> llvm::LLVMContextImpl::InstructionMetadata |
Collection of per-instruction metadata used in this context.
Definition at line 1193 of file LLVMContextImpl.h.
Referenced by llvm::Instruction::dropUnknownNonDebugMetadata(), and llvm::Instruction::setMetadata().
| IntegerType llvm::LLVMContextImpl::Int128Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt128Ty().
| IntegerType llvm::LLVMContextImpl::Int16Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt16Ty().
| IntegerType llvm::LLVMContextImpl::Int1Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt1Ty().
| IntegerType llvm::LLVMContextImpl::Int32Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt32Ty().
| IntegerType llvm::LLVMContextImpl::Int64Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt64Ty().
| IntegerType llvm::LLVMContextImpl::Int8Ty |
Definition at line 1161 of file LLVMContextImpl.h.
Referenced by llvm::Type::getInt8Ty().
| IntMapTy llvm::LLVMContextImpl::IntConstants |
Definition at line 1101 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::get(), and ~LLVMContextImpl().
| DenseMap<unsigned, IntegerType*> llvm::LLVMContextImpl::IntegerTypes |
Definition at line 1168 of file LLVMContextImpl.h.
Referenced by llvm::IntegerType::get().
| Type llvm::LLVMContextImpl::LabelTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getLabelTy().
| StringMap<MDString, BumpPtrAllocator> llvm::LLVMContextImpl::MDStringCache |
Definition at line 1111 of file LLVMContextImpl.h.
Referenced by llvm::MDString::get().
| DenseMap<Metadata *, MetadataAsValue *> llvm::LLVMContextImpl::MetadataAsValues |
Definition at line 1113 of file LLVMContextImpl.h.
Referenced by llvm::MetadataAsValue::get(), llvm::MetadataAsValue::getIfExists(), and ~LLVMContextImpl().
| Type llvm::LLVMContextImpl::MetadataTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getMetadataTy().
| StringMap<StructType*> llvm::LLVMContextImpl::NamedStructTypes |
Definition at line 1174 of file LLVMContextImpl.h.
Referenced by llvm::Module::getTypeByName(), and llvm::StructType::setName().
| unsigned llvm::LLVMContextImpl::NamedStructTypesUniqueID |
Definition at line 1175 of file LLVMContextImpl.h.
Referenced by LLVMContextImpl(), and llvm::StructType::setName().
| 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 1085 of file LLVMContextImpl.h.
Referenced by ~LLVMContextImpl().
| DenseMap<Type*, PointerType*> llvm::LLVMContextImpl::PointerTypes |
Definition at line 1179 of file LLVMContextImpl.h.
Referenced by llvm::PointerType::get().
| Type llvm::LLVMContextImpl::PPC_FP128Ty |
Definition at line 1160 of file LLVMContextImpl.h.
Referenced by llvm::Type::getPPC_FP128Ty().
| bool llvm::LLVMContextImpl::RespectDiagnosticFilters |
Definition at line 1092 of file LLVMContextImpl.h.
Referenced by llvm::LLVMContext::diagnose(), LLVMContextImpl(), and llvm::LLVMContext::setDiagnosticHandler().
| StringSet llvm::LLVMContextImpl::SectionStrings |
Stable collection of section strings.
Definition at line 1202 of file LLVMContextImpl.h.
Referenced by llvm::GlobalObject::setSection().
| StructConstantsTy llvm::LLVMContextImpl::StructConstants |
Definition at line 1136 of file LLVMContextImpl.h.
Referenced by llvm::ConstantStruct::get(), and ~LLVMContextImpl().
| ConstantInt* llvm::LLVMContextImpl::TheFalseVal |
Definition at line 1154 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getFalse().
| std::unique_ptr<ConstantTokenNone> llvm::LLVMContextImpl::TheNoneToken |
Definition at line 1156 of file LLVMContextImpl.h.
Referenced by llvm::ConstantTokenNone::get().
| ConstantInt* llvm::LLVMContextImpl::TheTrueVal |
Definition at line 1153 of file LLVMContextImpl.h.
Referenced by llvm::ConstantInt::getTrue().
| Type llvm::LLVMContextImpl::TokenTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getTokenTy().
| 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 1166 of file LLVMContextImpl.h.
Referenced by llvm::StructType::create(), llvm::IntegerType::get(), llvm::FunctionType::get(), llvm::StructType::get(), llvm::ArrayType::get(), llvm::VectorType::get(), and llvm::PointerType::get().
| DenseMap<Type *, std::unique_ptr<UndefValue> > llvm::LLVMContextImpl::UVConstants |
Definition at line 1143 of file LLVMContextImpl.h.
Referenced by llvm::UndefValue::get(), and ~LLVMContextImpl().
| ValueHandlesTy llvm::LLVMContextImpl::ValueHandles |
Definition at line 1187 of file LLVMContextImpl.h.
Referenced by llvm::ValueHandleBase::ValueIsDeleted().
Definition at line 1115 of file LLVMContextImpl.h.
Referenced by llvm::Value::getValueName(), and llvm::Value::setValueName().
| DenseMap<Value *, ValueAsMetadata *> llvm::LLVMContextImpl::ValuesAsMetadata |
Definition at line 1112 of file LLVMContextImpl.h.
Referenced by llvm::ValueAsMetadata::get(), llvm::ValueAsMetadata::getIfExists(), llvm::ValueAsMetadata::handleDeletion(), and ~LLVMContextImpl().
| VectorConstantsTy llvm::LLVMContextImpl::VectorConstants |
Definition at line 1139 of file LLVMContextImpl.h.
Referenced by llvm::ConstantVector::get(), and ~LLVMContextImpl().
| DenseMap<std::pair<Type *, unsigned>, VectorType*> llvm::LLVMContextImpl::VectorTypes |
Definition at line 1178 of file LLVMContextImpl.h.
Referenced by llvm::VectorType::get().
| Type llvm::LLVMContextImpl::VoidTy |
Definition at line 1159 of file LLVMContextImpl.h.
Referenced by llvm::Type::getVoidTy().
| Type llvm::LLVMContextImpl::X86_FP80Ty |
Definition at line 1160 of file LLVMContextImpl.h.
Referenced by llvm::Type::getX86_FP80Ty().
| Type llvm::LLVMContextImpl::X86_MMXTy |
Definition at line 1160 of file LLVMContextImpl.h.
Referenced by llvm::Type::getX86_MMXTy().
| LLVMContext::YieldCallbackTy llvm::LLVMContextImpl::YieldCallback |
Definition at line 1096 of file LLVMContextImpl.h.
Referenced by LLVMContextImpl(), llvm::LLVMContext::setYieldCallback(), and llvm::LLVMContext::yield().
| void* llvm::LLVMContextImpl::YieldOpaqueHandle |
Definition at line 1097 of file LLVMContextImpl.h.
Referenced by LLVMContextImpl(), llvm::LLVMContext::setYieldCallback(), and llvm::LLVMContext::yield().
1.8.6