AModule instance is used to store all the information related to an LLVM module.More...
#include "llvm/IR/Module.h"
Classes | |
class | debug_compile_units_iterator |
An iterator for DICompileUnits that skips those marked NoDebug.More... | |
struct | ModuleFlagEntry |
Public Member Functions | |
void | dropTriviallyDeadConstantArrays () |
Destroy ConstantArrays inLLVMContext if they are not used. | |
bool | getSemanticInterposition ()const |
Returns whether semantic interposition is to be respected. | |
void | setSemanticInterposition (bool) |
Set whether semantic interposition is to be respected. | |
bool | getRtLibUseGOT ()const |
Returns true if PLT should be avoided for RTLib calls. | |
void | setRtLibUseGOT () |
Set that PLT should be avoid for RTLib calls. | |
bool | getDirectAccessExternalData ()const |
Get/set whether referencing global variables can use direct access relocations onELF targets. | |
void | setDirectAccessExternalData (boolValue) |
UWTableKind | getUwtable ()const |
Get/set whether synthesized functions should get the uwtable attribute. | |
void | setUwtable (UWTableKind Kind) |
FramePointerKind | getFramePointer ()const |
Get/set whether synthesized functions should get the "frame-pointer" attribute. | |
void | setFramePointer (FramePointerKind Kind) |
StringRef | getStackProtectorGuard ()const |
Get/set what kind of stack protector guard to use. | |
void | setStackProtectorGuard (StringRef Kind) |
StringRef | getStackProtectorGuardReg ()const |
Get/set which register to use as the stack protector guard register. | |
void | setStackProtectorGuardReg (StringRefReg) |
StringRef | getStackProtectorGuardSymbol ()const |
Get/set a symbol to use as the stack protector guard. | |
void | setStackProtectorGuardSymbol (StringRef Symbol) |
int | getStackProtectorGuardOffset ()const |
Get/set what offset from the stack protector to use. | |
void | setStackProtectorGuardOffset (intOffset) |
unsigned | getOverrideStackAlignment ()const |
Get/set the stack alignment overridden from the default. | |
void | setOverrideStackAlignment (unsignedAlign) |
unsigned | getMaxTLSAlignment ()const |
void | setOwnedMemoryBuffer (std::unique_ptr<MemoryBuffer > MB) |
Take ownership of the given memory buffer. | |
void | setPartialSampleProfileRatio (constModuleSummaryIndex &Index) |
Set the partial sample profile ratio in the profile summary module flag, if applicable. | |
StringRef | getDarwinTargetVariantTriple ()const |
Get the target variant triple which is a string describing a variant of the target host platform. | |
void | setDarwinTargetVariantTriple (StringRefT) |
Set the target variant triple which is a string describing a variant of the target host platform. | |
VersionTuple | getDarwinTargetVariantSDKVersion ()const |
Get the target variant version build SDK version metadata. | |
void | setDarwinTargetVariantSDKVersion (VersionTupleVersion) |
Set the target variant version build SDK version metadata. | |
Module Level Accessors | |
const std::string & | getModuleIdentifier ()const |
Get the module identifier which is, essentially, the name of the module. | |
unsigned | getInstructionCount ()const |
Returns the number of non-debug IR instructions in the module. | |
const std::string & | getSourceFileName ()const |
Get the module's original source file name. | |
StringRef | getName ()const |
Get a short "name" for the module. | |
const std::string & | getDataLayoutStr ()const |
Get the data layout string for the module's target platform. | |
constDataLayout & | getDataLayout ()const |
Get the data layout for the module's target platform. | |
const std::string & | getTargetTriple ()const |
Get the target triple which is a string describing the target host. | |
LLVMContext & | getContext ()const |
Get the global data context. | |
const std::string & | getModuleInlineAsm ()const |
Get any module-scope inline assembly blocks. | |
std::unique_ptr<RandomNumberGenerator > | createRNG (constStringRefName)const |
Get aRandomNumberGenerator salted for use with this module. | |
bool | shouldEmitInstrCountChangedRemark () |
Return true if size-info optimization remark is enabled, false otherwise. | |
Module Level Mutators | |
void | setModuleIdentifier (StringRefID) |
Set the module identifier. | |
void | setSourceFileName (StringRefName) |
Set the module's original source file name. | |
void | setDataLayout (StringRefDesc) |
Set the data layout. | |
void | setDataLayout (constDataLayout &Other) |
void | setTargetTriple (StringRefT) |
Set the target triple. | |
void | setModuleInlineAsm (StringRef Asm) |
Set the module-scope inline assembly blocks. | |
void | appendModuleInlineAsm (StringRef Asm) |
Append to the module-scope inline assembly blocks. | |
Generic Value Accessors | |
GlobalValue * | getNamedValue (StringRefName)const |
Return the global value in the module with the specified name, of arbitrary type. | |
unsigned | getNumNamedValues ()const |
Return the number of global values in the module. | |
unsigned | getMDKindID (StringRefName)const |
Return a unique non-zero ID for the specified metadata kind. | |
void | getMDKindNames (SmallVectorImpl<StringRef > &Result)const |
Populate client suppliedSmallVector with the name for custom metadata IDs registered in thisLLVMContext. | |
void | getOperandBundleTags (SmallVectorImpl<StringRef > &Result)const |
Populate client suppliedSmallVector with the bundle tags registered in thisLLVMContext. | |
std::vector<StructType * > | getIdentifiedStructTypes ()const |
std::string | getUniqueIntrinsicName (StringRef BaseName,Intrinsic::ID Id,constFunctionType *Proto) |
Return a unique name for an intrinsic whose mangling is based on an unnamed type. | |
Function Accessors | |
FunctionCallee | getOrInsertFunction (StringRefName,FunctionType *T,AttributeListAttributeList) |
Look up the specified function in the module symbol table. | |
FunctionCallee | getOrInsertFunction (StringRefName,FunctionType *T) |
template<typename... ArgsTy> | |
FunctionCallee | getOrInsertFunction (StringRefName,AttributeListAttributeList,Type *RetTy, ArgsTy... Args) |
Same as above, but takes a list of function arguments, which makes it easier for clients to use. | |
template<typename... ArgsTy> | |
FunctionCallee | getOrInsertFunction (StringRefName,Type *RetTy, ArgsTy... Args) |
Same as above, but without the attributes. | |
template<typename... ArgsTy> | |
FunctionCallee | getOrInsertFunction (StringRefName,AttributeListAttributeList,FunctionType *Invalid, ArgsTy... Args)=delete |
Function * | getFunction (StringRefName)const |
Look up the specified function in the module symbol table. | |
Global Variable Accessors | |
GlobalVariable * | getGlobalVariable (StringRefName)const |
Look up the specified global variable in the module symbol table. | |
GlobalVariable * | getGlobalVariable (StringRefName,bool AllowInternal)const |
getGlobalVariable - Look up the specified global variable in the module symbol table. | |
GlobalVariable * | getGlobalVariable (StringRefName,bool AllowInternal=false) |
constGlobalVariable * | getNamedGlobal (StringRefName)const |
Return the global variable in the module with the specified name, of arbitrary type. | |
GlobalVariable * | getNamedGlobal (StringRefName) |
Constant * | getOrInsertGlobal (StringRefName,Type *Ty,function_ref<GlobalVariable *()> CreateGlobalCallback) |
Look up the specified global in the module symbol table. | |
Constant * | getOrInsertGlobal (StringRefName,Type *Ty) |
Look up the specified global in the module symbol table. | |
Global Alias Accessors | |
GlobalAlias * | getNamedAlias (StringRefName)const |
Return the global alias in the module with the specified name, of arbitrary type. | |
Global IFunc Accessors | |
GlobalIFunc * | getNamedIFunc (StringRefName)const |
Return the global ifunc in the module with the specified name, of arbitrary type. | |
Named Metadata Accessors | |
NamedMDNode * | getNamedMetadata (StringRefName)const |
Return the firstNamedMDNode in the module with the specified name. | |
NamedMDNode * | getOrInsertNamedMetadata (StringRefName) |
Return the namedMDNode in the module with the specified name. | |
void | eraseNamedMetadata (NamedMDNode *NMD) |
Remove the givenNamedMDNode from this module and delete it. | |
Comdat Accessors | |
Comdat * | getOrInsertComdat (StringRefName) |
Return theComdat in the module with the specified name. | |
Module Flags Accessors | |
void | getModuleFlagsMetadata (SmallVectorImpl<ModuleFlagEntry > &Flags)const |
Returns the module flags in the provided vector. | |
Metadata * | getModuleFlag (StringRef Key)const |
Return the corresponding value if Key appears in module flags, otherwise return null. | |
NamedMDNode * | getModuleFlagsMetadata ()const |
Returns theNamedMDNode in the module that represents module-level flags. | |
NamedMDNode * | getOrInsertModuleFlagsMetadata () |
Returns theNamedMDNode in the module that represents module-level flags. | |
void | addModuleFlag (ModFlagBehavior Behavior,StringRef Key,Metadata *Val) |
Add a module-level flag to the module-level flags metadata. | |
void | addModuleFlag (ModFlagBehavior Behavior,StringRef Key,Constant *Val) |
void | addModuleFlag (ModFlagBehavior Behavior,StringRef Key,uint32_t Val) |
void | addModuleFlag (MDNode *Node) |
void | setModuleFlag (ModFlagBehavior Behavior,StringRef Key,Metadata *Val) |
Like addModuleFlag but replaces the old module flag if it already exists. | |
void | setModuleFlag (ModFlagBehavior Behavior,StringRef Key,Constant *Val) |
void | setModuleFlag (ModFlagBehavior Behavior,StringRef Key,uint32_t Val) |
Materialization | |
void | setMaterializer (GVMaterializer *GVM) |
Sets theGVMaterializer to GVM. | |
GVMaterializer * | getMaterializer ()const |
Retrieves theGVMaterializer, if any, for thisModule. | |
bool | isMaterialized ()const |
llvm::Error | materialize (GlobalValue *GV) |
Make sure theGlobalValue is fully read. | |
llvm::Error | materializeAll () |
Make sure all GlobalValues in thisModule are fully read and clear the Materializer. | |
llvm::Error | materializeMetadata () |
void | removeGlobalVariable (GlobalVariable *GV) |
Detach global variableGV from the list but don't delete it. | |
void | eraseGlobalVariable (GlobalVariable *GV) |
Remove global variableGV from the list and delete it. | |
void | insertGlobalVariable (GlobalVariable *GV) |
Insert global variableGV at the end of the global variable list and take ownership. | |
void | insertGlobalVariable (GlobalListType::iterator Where,GlobalVariable *GV) |
Insert global variableGV into the global variable list beforeWhere and take ownership. | |
Global Variable Iteration | |
global_iterator | global_begin () |
const_global_iterator | global_begin ()const |
global_iterator | global_end () |
const_global_iterator | global_end ()const |
size_t | global_size ()const |
bool | global_empty ()const |
iterator_range<global_iterator > | globals () |
iterator_range<const_global_iterator > | globals ()const |
Function Iteration | |
iterator | begin () |
const_iterator | begin ()const |
iterator | end () |
const_iterator | end ()const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin ()const |
reverse_iterator | rend () |
const_reverse_iterator | rend ()const |
size_t | size ()const |
bool | empty ()const |
iterator_range<iterator > | functions () |
iterator_range<const_iterator > | functions ()const |
Alias Iteration | |
alias_iterator | alias_begin () |
const_alias_iterator | alias_begin ()const |
alias_iterator | alias_end () |
const_alias_iterator | alias_end ()const |
size_t | alias_size ()const |
bool | alias_empty ()const |
iterator_range<alias_iterator > | aliases () |
iterator_range<const_alias_iterator > | aliases ()const |
IFunc Iteration | |
ifunc_iterator | ifunc_begin () |
const_ifunc_iterator | ifunc_begin ()const |
ifunc_iterator | ifunc_end () |
const_ifunc_iterator | ifunc_end ()const |
size_t | ifunc_size ()const |
bool | ifunc_empty ()const |
iterator_range<ifunc_iterator > | ifuncs () |
iterator_range<const_ifunc_iterator > | ifuncs ()const |
Named Metadata Iteration | |
named_metadata_iterator | named_metadata_begin () |
const_named_metadata_iterator | named_metadata_begin ()const |
named_metadata_iterator | named_metadata_end () |
const_named_metadata_iterator | named_metadata_end ()const |
size_t | named_metadata_size ()const |
bool | named_metadata_empty ()const |
iterator_range<named_metadata_iterator > | named_metadata () |
iterator_range<const_named_metadata_iterator > | named_metadata ()const |
debug_compile_units_iterator | debug_compile_units_begin ()const |
debug_compile_units_iterator | debug_compile_units_end ()const |
iterator_range<debug_compile_units_iterator > | debug_compile_units ()const |
Return an iterator for all DICompileUnits listed in thisModule's llvm.dbg.cu named metadata node and aren't explicitly marked as NoDebug. | |
Utility functions for printing and dumping Module objects | |
void | print (raw_ostream &OS,AssemblyAnnotationWriter *AAW,bool ShouldPreserveUseListOrder=false,bool IsForDebug=false)const |
Print the module to an output stream with an optionalAssemblyAnnotationWriter. | |
void | dump ()const |
Dump the module to stderr (for debugging). | |
void | dropAllReferences () |
This function causes all the subinstructions to "let go" of all references that they are maintaining. | |
Utility functions for querying Debug information. | |
unsigned | getNumberRegisterParameters ()const |
Returns the Number ofRegister ParametersDwarf Version by checking module flags. | |
unsigned | getDwarfVersion ()const |
Returns the Dwarf Version by checking module flags. | |
bool | isDwarf64 ()const |
Returns the DWARF format by checking module flags. | |
unsigned | getCodeViewFlag ()const |
Returns the CodeView Version by checking module flags. | |
Utility functions for querying and setting PIC level | |
PICLevel::Level | getPICLevel ()const |
Returns the PIC level (small or large model) | |
void | setPICLevel (PICLevel::Level PL) |
Set the PIC level (small or large model) | |
Utility functions for querying and setting PIE level | |
PIELevel::Level | getPIELevel ()const |
Returns the PIE level (small or large model) | |
void | setPIELevel (PIELevel::Level PL) |
Set the PIE level (small or large model) | |
Utility function for querying and setting code model | |
std::optional<CodeModel::Model > | getCodeModel ()const |
Returns the code model (tiny, small, kernel, medium or large model) | |
void | setCodeModel (CodeModel::Model CL) |
Set the code model (tiny, small, kernel, medium or large) | |
Utility function for querying and setting the large data threshold | |
std::optional<uint64_t > | getLargeDataThreshold ()const |
Returns the code model (tiny, small, kernel, medium or large model) | |
void | setLargeDataThreshold (uint64_t Threshold) |
Set the code model (tiny, small, kernel, medium or large) | |
Utility functions for querying and setting PGO summary | |
void | setProfileSummary (Metadata *M,ProfileSummary::Kind Kind) |
Attach profile summary metadata to this module. | |
Metadata * | getProfileSummary (bool IsCS)const |
Returns profile summary metadata. | |
Utility functions for querying and setting the build SDK version | |
void | setSDKVersion (constVersionTuple &V) |
Attach a build SDK version metadata to this module. | |
VersionTuple | getSDKVersion ()const |
Get the build SDK version metadata. | |
Types And Enumerations | |
enum | ModFlagBehavior { Error = 1,Warning = 2,Require = 3,Override = 4, Append = 5,AppendUnique = 6,Max = 7,Min = 8, ModFlagBehaviorFirstVal = Error,ModFlagBehaviorLastVal = Min } |
This enumeration defines the supported behaviors of module flags.More... | |
using | GlobalListType =SymbolTableList<GlobalVariable > |
The type for the list of global variables. | |
using | FunctionListType =SymbolTableList<Function > |
The type for the list of functions. | |
using | AliasListType =SymbolTableList<GlobalAlias > |
The type for the list of aliases. | |
using | IFuncListType =SymbolTableList<GlobalIFunc > |
The type for the list of ifuncs. | |
using | NamedMDListType =ilist<NamedMDNode > |
The type for the list of named metadata. | |
using | ComdatSymTabType =StringMap<Comdat > |
The type of the comdat "symbol" table. | |
using | NamedMDSymTabType =StringMap<NamedMDNode * > |
The type for mapping names to named metadata. | |
using | global_iterator =GlobalListType::iterator |
The Global Variable iterator. | |
using | const_global_iterator =GlobalListType::const_iterator |
The Global Variable constant iterator. | |
using | iterator =FunctionListType::iterator |
TheFunction iterators. | |
using | const_iterator =FunctionListType::const_iterator |
TheFunction constant iterator. | |
using | reverse_iterator =FunctionListType::reverse_iterator |
TheFunction reverse iterator. | |
using | const_reverse_iterator =FunctionListType::const_reverse_iterator |
TheFunction constant reverse iterator. | |
using | alias_iterator =AliasListType::iterator |
The Global Alias iterators. | |
using | const_alias_iterator =AliasListType::const_iterator |
The Global Alias constant iterator. | |
using | ifunc_iterator =IFuncListType::iterator |
The Global IFunc iterators. | |
using | const_ifunc_iterator =IFuncListType::const_iterator |
The Global IFunc constant iterator. | |
using | named_metadata_iterator =NamedMDListType::iterator |
The named metadata iterators. | |
using | const_named_metadata_iterator =NamedMDListType::const_iterator |
The named metadata constant iterators. | |
staticbool | isValidModFlagBehavior (Metadata *MD,ModFlagBehavior &MFB) |
Checks ifMetadata represents a valid ModFlagBehavior, and stores the converted result in MFB. | |
Member Variables | |
class | Constant |
Direct access to the globals list, functions list, and symbol table | |
class | llvm::SymbolTableListTraits< llvm::GlobalVariable > |
class | llvm::SymbolTableListTraits< llvm::GlobalAlias > |
class | llvm::SymbolTableListTraits< llvm::GlobalIFunc > |
staticFunctionListType Module::* | getSublistAccess (Function *) |
constFunctionListType & | getFunctionList ()const |
Get theModule's list of functions (constant). | |
FunctionListType & | getFunctionList () |
Get theModule's list of functions. | |
void | removeAlias (GlobalAlias *Alias) |
DetachAlias from the list but don't delete it. | |
void | eraseAlias (GlobalAlias *Alias) |
RemoveAlias from the list and delete it. | |
void | insertAlias (GlobalAlias *Alias) |
InsertAlias at the end of the alias list and take ownership. | |
void | removeIFunc (GlobalIFunc *IFunc) |
DetachIFunc from the list but don't delete it. | |
void | eraseIFunc (GlobalIFunc *IFunc) |
RemoveIFunc from the list and delete it. | |
void | insertIFunc (GlobalIFunc *IFunc) |
InsertIFunc at the end of the alias list and take ownership. | |
void | removeNamedMDNode (NamedMDNode *MDNode) |
DetachMDNode from the list but don't delete it. | |
void | eraseNamedMDNode (NamedMDNode *MDNode) |
RemoveMDNode from the list and delete it. | |
void | insertNamedMDNode (NamedMDNode *MDNode) |
InsertMDNode at the end of the alias list and take ownership. | |
constValueSymbolTable & | getValueSymbolTable ()const |
Get the symbol table of global variable and function identifiers. | |
ValueSymbolTable & | getValueSymbolTable () |
Get theModule's symbol table of global variable and function identifiers. | |
constComdatSymTabType & | getComdatSymbolTable ()const |
Get theModule's symbol table for COMDATs (constant). | |
ComdatSymTabType & | getComdatSymbolTable () |
Get theModule's symbol table for COMDATs. | |
Constructors | |
bool | IsNewDbgInfoFormat |
Is thisModule using intrinsics to record the position of debugging information, or non-intrinsic records? See IsNewDbgInfoFormat inBasicBlock. | |
void | removeDebugIntrinsicDeclarations () |
Used when printing this module in the new debug info format; removes all declarations of debug intrinsics that are replaced by non-intrinsic records in the new format. | |
void | convertToNewDbgValues () |
void | convertFromNewDbgValues () |
void | setIsNewDbgInfoFormat (bool UseNewFormat) |
void | setNewDbgInfoFormatFlag (bool NewFlag) |
Module (StringRef ModuleID,LLVMContext &C) | |
TheModule constructor. | |
~Module () | |
The module destructor. This will dropAllReferences. | |
Module & | operator= (Module &&Other) |
Move assignment. | |
AModule instance is used to store all the information related to an LLVM module.
Modules are the top level container of all other LLVM Intermediate Representation (IR) objects. Each module directly contains a list of globals variables, a list of functions, a list of libraries (or other modules) this module depends on, a symbol table, and various data about the target's characteristics.
A module maintains a GlobalList object that is used to hold all constant references to global variables in the module. When a global variable is destroyed, it should have no entries in the GlobalList. The main container class for the LLVM Intermediate Representation.
This enumeration defines the supported behaviors of module flags.
| explicit |
TheModule constructor.
Note that there is no default constructor. You must provide a name for the module upon construction.
Definition at line73 of fileModule.cpp.
Module::~Module | ( | ) |
The module destructor. This will dropAllReferences.
Definition at line115 of fileModule.cpp.
void Module::addModuleFlag | ( | MDNode * | Node | ) |
Definition at line394 of fileModule.cpp.
void Module::addModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
Constant * | Val | ||
) |
Definition at line385 of fileModule.cpp.
void Module::addModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
Metadata * | Val | ||
) |
Add a module-level flag to the module-level flags metadata.
addModuleFlag - Add a module-level flag to the module-level flags metadata.
It will create the module-level flags named metadata if it doesn't already exist.
Definition at line377 of fileModule.cpp.
void Module::addModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
uint32_t | Val | ||
) |
Definition at line389 of fileModule.cpp.
| inline |
Definition at line735 of fileModule.h.
Referenced byLLVMGetPreviousGlobalAlias().
| inline |
| inline |
Definition at line737 of fileModule.h.
Referenced byLLVMGetNextGlobalAlias().
| inline |
| inline |
Definition at line742 of fileModule.h.
Referencesllvm::make_range().
Referenced byllvm::sandboxir::Context::createModule(), andllvm::thinLTOFinalizeInModule().
| inline |
Definition at line745 of fileModule.h.
Referencesllvm::make_range().
| inline |
| inline |
| inline |
| inline |
std::unique_ptr<RandomNumberGenerator > Module::createRNG | ( | constStringRef | Name | ) | const |
Get aRandomNumberGenerator salted for use with this module.
The RNG can be seeded via -rng-seed=<uint64> and is salted with the ModuleID and the provided pass salt. The returned RNG should not be shared across threads or passes.
A unique RNG per pass ensures a reproducible random stream even when other randomness consuming passes are added or removed. In addition, the random stream will be reproducible across LLVM versions when the pass does not change.
Definition at line148 of fileModule.cpp.
| inline |
Return an iterator for all DICompileUnits listed in thisModule's llvm.dbg.cu named metadata node and aren't explicitly marked as NoDebug.
Definition at line870 of fileModule.h.
Referencesllvm::make_range().
Referenced byllvm::MachineFunction::needsFrameMoves().
| inline |
| inline |
void Module::dropAllReferences | ( | ) |
This function causes all the subinstructions to "let go" of all references that they are maintaining.
This allows one to 'delete' a whole class at a time, even though there may be circular references... first all references are dropped, and all use counts go to zero. Then everything is delete'd for real. Note that no operations are valid on an object that has "dropped all references", except operator delete.
Definition at line563 of fileModule.cpp.
void Module::dropTriviallyDeadConstantArrays | ( | ) |
Destroy ConstantArrays inLLVMContext if they are not used.
ConstantArrays constructed during linking can cause quadratic memory explosion. Releasing all unused constants can cause a 20% LTO compile-time slowdown for a large application.
NOTE: Constants are currently owned byLLVMContext. This can then only be called where all uses of theLLVMContext are understood.
Definition at line173 of fileLLVMContextImpl.cpp.
Referencesllvm::LLVMContextImpl::dropTriviallyDeadConstantArrays(), andllvm::LLVMContext::pImpl.
Referenced byllvm::IRMover::move().
void Module::dump | ( | ) | const |
Dump the module to stderr (for debugging).
Definition at line5323 of fileAsmWriter.cpp.
Referencesllvm::dbgs(), andprint().
| inline |
| inline |
RemoveAlias
from the list and delete it.
Definition at line624 of fileModule.h.
Referenced byllvm::GlobalAlias::eraseFromParent().
| inline |
Remove global variableGV
from the list and delete it.
Definition at line583 of fileModule.h.
Referenced byllvm::GlobalVariable::eraseFromParent().
| inline |
RemoveIFunc
from the list and delete it.
Definition at line633 of fileModule.h.
Referenced byllvm::GlobalIFunc::eraseFromParent().
| inline |
void Module::eraseNamedMetadata | ( | NamedMDNode * | NMD | ) |
Remove the givenNamedMDNode from this module and delete it.
eraseNamedMetadata - Remove the givenNamedMDNode from this module and delete it.
Definition at line318 of fileModule.cpp.
Referenced byllvm::NamedMDNode::eraseFromParent().
| inline |
Definition at line724 of fileModule.h.
Referencesllvm::make_range().
| inline |
Definition at line727 of fileModule.h.
Referencesllvm::make_range().
std::optional<CodeModel::Model > Module::getCodeModel | ( | ) | const |
Returns the code model (tiny, small, kernel, medium or large model)
Definition at line647 of fileModule.cpp.
Referenced byllvm::setGlobalVariableLargeSection().
unsigned Module::getCodeViewFlag | ( | ) | const |
Returns the CodeView Version by checking module flags.
Returns zero if not present in module.
Definition at line597 of fileModule.cpp.
Referenced byllvm::X86FrameLowering::emitPrologue().
| inline |
| inline |
| inline |
Get the global data context.
Definition at line302 of fileModule.h.
Referenced byllvm::AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo(),llvm::AMDGPUTargetLowering::analyzeFormalArgumentsCompute(),llvm::OpenMPIRBuilder::createAtomicCompare(),llvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createAtomicWrite(),llvm::OpenMPIRBuilder::createCopyinClauseBlocks(),llvm::OpenMPIRBuilder::createGlobalFlag(),llvm::OpenMPIRBuilder::createLoopSkeleton(),llvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(),llvm::OpenMPIRBuilder::createOffloadMapnames(),llvm::OpenMPIRBuilder::createOffloadMaptypes(),llvm::OpenMPIRBuilder::createOMPInteropDestroy(),llvm::OpenMPIRBuilder::createOMPInteropInit(),llvm::OpenMPIRBuilder::createOMPInteropUse(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createSections(),llvm::OpenMPIRBuilder::createTask(),crossImportIntoModule(),llvm::WebAssemblyAsmPrinter::emitGlobalVariable(),llvm::OpenMPIRBuilder::emitIfClause(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArraysArgument(),llvm::OpenMPIRBuilder::emitTargetTask(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),llvm::SanitizerStatReport::finish(),llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(),llvm::FunctionImporter::importFunctions(),optimizeModule(),llvm::InlineAdvisorAnalysis::Result::tryCreate(),llvm::dxil::DXILOpBuilder::tryCreateOp(), andverifyLoadedModule().
VersionTuple Module::getDarwinTargetVariantSDKVersion | ( | ) | const |
Get the target variant version build SDK version metadata.
An empty version is returned if no such metadata is attached.
Definition at line911 of fileModule.cpp.
StringRef Module::getDarwinTargetVariantTriple | ( | ) | const |
Get the target variant triple which is a string describing a variant of the target host platform.
For example, Mac Catalyst can be a variant target triple for a macOS target.
Definition at line900 of fileModule.cpp.
| inline |
Get the data layout for the module's target platform.
Definition at line294 of fileModule.h.
ReferencesDL.
Referenced byCanProveNotTakenFirstIteration(),llvm::OpenMPIRBuilder::createAtomicRead(),llvm::OpenMPIRBuilder::createParallel(),llvm::OpenMPIRBuilder::createReductions(),llvm::OpenMPIRBuilder::createReductionsGPU(),llvm::OpenMPIRBuilder::createTask(),llvm::OpenMPIRBuilder::emitNonContiguousDescriptor(),llvm::OpenMPIRBuilder::emitOffloadingArrays(),llvm::OpenMPIRBuilder::emitTargetKernel(),llvm::OpenMPIRBuilder::emitTargetTask(),llvm::OpenMPIRBuilder::emitUserDefinedMapper(),getAuthPtrSlotSymbolHelper(),llvm::AsmPrinter::getDataLayout(),llvm::GlobalValue::getDataLayout(),llvm::sandboxir::Module::getDataLayout(),llvm::TargetLoweringObjectFileMachO::getIndirectSymViaGOTPCRel(),llvm::OpenMPIRBuilder::getOrCreateIdent(),llvm::OpenMPIRBuilder::getOrCreateInternalVariable(),llvm::orc::IRMaterializationUnit::IRMaterializationUnit(),isAtomicRMWLegalXChgTy(),llvm::AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(),llvm::OpenMPIRBuilder::registerTargetGlobalVariable(), andvalueCoversEntireFragment().
| inline |
Get the data layout string for the module's target platform.
This is equivalent togetDataLayout()->getStringRepresentation().
Definition at line289 of fileModule.h.
ReferencesDL.
bool Module::getDirectAccessExternalData | ( | ) | const |
Get/set whether referencing global variables can use direct access relocations onELF targets.
Definition at line721 of fileModule.cpp.
unsigned Module::getDwarfVersion | ( | ) | const |
Returns the Dwarf Version by checking module flags.
Definition at line585 of fileModule.cpp.
Referenced byllvm::DwarfDebug::DwarfDebug().
FramePointerKind Module::getFramePointer | ( | ) | const |
Get/set whether synthesized functions should get the "frame-pointer" attribute.
Definition at line743 of fileModule.cpp.
Look up the specified function in the module symbol table.
If it does not exist, return null.
Definition at line228 of fileModule.cpp.
Referenced byllvm::OpenMPIRBuilder::createTargetInit(),llvm::SelectionDAG::getSymbolFunctionGlobalAddress(),llvm::VFABI::getVectorVariantNames(), andllvm::LoopVectorizationCostModel::setVectorizedCallDecision().
| inline |
| inline |
Get theModule's list of functions (constant).
Definition at line614 of fileModule.h.
Referenced byllvm::OpenMPIRBuilder::finalize(),moveFunctionAdaptingType(), andllvm::CallGraph::removeFunctionFromModule().
| inline |
Look up the specified global variable in the module symbol table.
If it does not exist, return null. If AllowInternal is set to true, this function will return types that have InternalLinkage. By default, these types are not returned.
Definition at line447 of fileModule.h.
ReferencesgetGlobalVariable(), andName.
Referenced byllvm::OpenMPIRBuilder::finalize().
GlobalVariable * Module::getGlobalVariable | ( | StringRef | Name, |
bool | AllowLocal | ||
) | const |
getGlobalVariable - Look up the specified global variable in the module symbol table.
If it does not exist, return null. The type argument should be the underlying type of the global, i.e., it should not have the top-levelPointerType, which represents the address of the global. If AllowLocal is set to true, this function will return types that have an local. By default, these types are not returned.
Definition at line243 of fileModule.cpp.
| inline |
Definition at line453 of fileModule.h.
ReferencesgetGlobalVariable(), andName.
std::vector<StructType * > Module::getIdentifiedStructTypes | ( | ) | const |
Definition at line492 of fileModule.cpp.
unsigned Module::getInstructionCount | ( | ) | const |
Returns the number of non-debug IR instructions in the module.
This is equivalent to the sum of the IR instruction counts of each function contained in the module.
Definition at line604 of fileModule.cpp.
std::optional<uint64_t > Module::getLargeDataThreshold | ( | ) | const |
Returns the code model (tiny, small, kernel, medium or large model)
Definition at line665 of fileModule.cpp.
| inline |
Retrieves theGVMaterializer, if any, for thisModule.
unsigned Module::getMaxTLSAlignment | ( | ) | const |
Definition at line807 of fileModule.cpp.
Return a unique non-zero ID for the specified metadata kind.
getMDKindID - Return a unique non-zero ID for the specified metadata kind.
This ID is uniqued across modules in the currentLLVMContext.
Definition at line180 of fileModule.cpp.
void Module::getMDKindNames | ( | SmallVectorImpl<StringRef > & | Result | ) | const |
Populate client suppliedSmallVector with the name for custom metadata IDs registered in thisLLVMContext.
getMDKindNames - Populate client suppliedSmallVector with the name for custom metadata IDs registered in thisLLVMContext.
ID #0 is not used, so it is filled in as an empty string.
Definition at line187 of fileModule.cpp.
Return the corresponding value if Key appears in module flags, otherwise return null.
Definition at line354 of fileModule.cpp.
Referenced byllvm::calculateSEHStateNumbers(),llvm::calculateWinCXXEHStateNumbers(), andllvm::AsmPrinter::emitFunctionBody().
| inline |
Returns theNamedMDNode in the module that represents module-level flags.
This method returns null if there are no module-level flags.
void Module::getModuleFlagsMetadata | ( | SmallVectorImpl<ModuleFlagEntry > & | Flags | ) | const |
Returns the module flags in the provided vector.
getModuleFlagsMetadata - Returns the module flags in the provided vector.
Definition at line337 of fileModule.cpp.
| inline |
Get the module identifier which is, essentially, the name of the module.
Definition at line268 of fileModule.h.
Referenced byllvm::ThinLTOCodeGenerator::crossModuleImport(),llvm::ThinLTOCodeGenerator::emitImports(),llvm::ThinLTOCodeGenerator::gatherImportedSummariesForModule(),llvm::DOTGraphTraits< CallGraphDOTInfo * >::getGraphName(),llvm::Loop::getLocStr(),llvm::FunctionImporter::importFunctions(),llvm::ThinLTOCodeGenerator::internalize(),llvm::DiagnosticInfoIgnoringInvalidDebugMetadata::print(),llvm::PassManagerPrettyStackEntry::print(),llvm::ThinLTOCodeGenerator::promote(), andllvm::cgdata::saveModuleForTwoRounds().
| inline |
| inline |
Get a short "name" for the module.
This is useful for debugging or logging. It is essentially a convenience wrapper aroundgetModuleIdentifier().
Definition at line285 of fileModule.h.
Referenced byllvm::DwarfCompileUnit::constructImportedEntityDIE(),llvm::AsmPrinter::emitStackUsage(),llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(),llvm::ThinLTOCodeGenerator::run(), andllvm::FunctionSpecializer::~FunctionSpecializer().
GlobalAlias * Module::getNamedAlias | ( | StringRef | Name | ) | const |
Return the global alias in the module with the specified name, of arbitrary type.
This method returns null if a global with the specified name is not found.
Definition at line286 of fileModule.cpp.
| inline |
| inline |
Return the global variable in the module with the specified name, of arbitrary type.
This method returns null if a global with the specified name is not found.
Definition at line462 of fileModule.h.
ReferencesgetGlobalVariable(), andName.
Referenced byllvm::OpenMPIRBuilder::createTargetDeinit(), andllvm::TargetLowering::LowerToTLSEmulatedModel().
GlobalIFunc * Module::getNamedIFunc | ( | StringRef | Name | ) | const |
Return the global ifunc in the module with the specified name, of arbitrary type.
This method returns null if a global with the specified name is not found.
Definition at line290 of fileModule.cpp.
NamedMDNode * Module::getNamedMetadata | ( | StringRef | Name | ) | const |
Return the firstNamedMDNode in the module with the specified name.
getNamedMetadata - Return the firstNamedMDNode in the module with the specified name.
This method returns null if aNamedMDNode with the specified name is not found.
Definition at line297 of fileModule.cpp.
Referenced byllvm::X86FrameLowering::adjustForHiPEPrologue(),llvm::cacheAnnotationFromMD(), andllvm::OpenMPIRBuilder::loadOffloadInfoMetadata().
GlobalValue * Module::getNamedValue | ( | StringRef | Name | ) | const |
Return the global value in the module with the specified name, of arbitrary type.
getNamedValue - Return the first global value in the module with the specified name, of arbitrary type.
This method returns null if a global with the specified name is not found.
Definition at line170 of fileModule.cpp.
Referenced byllvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata(),llvm::RecordStreamer::flushSymverDirectives(),llvm::OpenMPIRBuilder::getAddrOfDeclareTargetVar(),getComdatGVForCOFF(), andllvm::OpenMPIRBuilder::registerTargetGlobalVariable().
unsigned Module::getNumberRegisterParameters | ( | ) | const |
Returns the Number ofRegister ParametersDwarf Version by checking module flags.
Definition at line577 of fileModule.cpp.
unsigned Module::getNumNamedValues | ( | ) | const |
Return the number of global values in the module.
Definition at line174 of fileModule.cpp.
void Module::getOperandBundleTags | ( | SmallVectorImpl<StringRef > & | Result | ) | const |
Populate client suppliedSmallVector with the bundle tags registered in thisLLVMContext.
The bundle tags are ordered by increasing bundle IDs.
Definition at line191 of fileModule.cpp.
Return theComdat in the module with the specified name.
It is created if it didn't already exist.
Definition at line611 of fileModule.cpp.
| delete |
| inline |
FunctionCallee Module::getOrInsertFunction | ( | StringRef | Name, |
FunctionType * | T | ||
) |
Definition at line221 of fileModule.cpp.
FunctionCallee Module::getOrInsertFunction | ( | StringRef | Name, |
FunctionType * | T, | ||
AttributeList | AttributeList | ||
) |
Look up the specified function in the module symbol table.
If it does not exist, add a prototype for the function and return it. Otherwise, return the existing function.
In all cases, the returned value is aFunctionCallee wrapper around the 'FunctionTypeT' passed in, as well as the 'Value' of theFunction. The function type of the function may differ from the function type stored inFunctionCallee if it was previously created with a different type.
Note: For library callsgetOrInsertLibFunc() should be used instead.
Definition at line204 of fileModule.cpp.
Referenced byllvm::SanitizerStatReport::finish(),InsertCall(),insertCallBeforeInstruction(), andllvm::dxil::DXILOpBuilder::tryCreateOp().
| inline |
Look up the specified global in the module symbol table.
If required, this overload constructs the global variable using its constructor's defaults.
Definition at line272 of fileModule.cpp.
Constant * Module::getOrInsertGlobal | ( | StringRef | Name, |
Type * | Ty, | ||
function_ref<GlobalVariable *()> | CreateGlobalCallback | ||
) |
Look up the specified global in the module symbol table.
getOrInsertGlobal - Look up the specified global in the module symbol table.
If it does not exist, invoke a callback to create a declaration of the global and return it. The global is constantexpr casted to the expected type if necessary.
Definition at line258 of fileModule.cpp.
NamedMDNode * Module::getOrInsertModuleFlagsMetadata | ( | ) |
Returns theNamedMDNode in the module that represents module-level flags.
getOrInsertModuleFlagsMetadata - Returns theNamedMDNode in the module that represents module-level flags.
If module-level flags aren't found, it creates the named metadata that contains them.
Definition at line368 of fileModule.cpp.
NamedMDNode * Module::getOrInsertNamedMetadata | ( | StringRef | Name | ) |
Return the namedMDNode in the module with the specified name.
getOrInsertNamedMetadata - Return the first namedMDNode in the module with the specified name.
This method returns a newNamedMDNode if aNamedMDNode with the specified name is not found.
Definition at line304 of fileModule.cpp.
Referenced byllvm::CloneFunctionInto(),llvm::DIBuilder::createCompileUnit(), andllvm::OpenMPIRBuilder::createOffloadEntriesAndInfoMetadata().
unsigned Module::getOverrideStackAlignment | ( | ) | const |
Get/set the stack alignment overridden from the default.
Definition at line800 of fileModule.cpp.
PICLevel::Level Module::getPICLevel | ( | ) | const |
Returns the PIC level (small or large model)
Definition at line617 of fileModule.cpp.
PIELevel::Level Module::getPIELevel | ( | ) | const |
Returns the PIE level (small or large model)
Definition at line633 of fileModule.cpp.
Referenced byllvm::TargetMachine::getTLSModel(), andProcessThinLTOModule().
Returns profile summary metadata.
When IsCS is true, use the context sensitive profile summary.
Definition at line689 of fileModule.cpp.
Referenced byllvm::ProfileSummaryInfo::refresh().
bool Module::getRtLibUseGOT | ( | ) | const |
Returns true if PLT should be avoided for RTLib calls.
Definition at line712 of fileModule.cpp.
VersionTuple Module::getSDKVersion | ( | ) | const |
Get the build SDK version metadata.
An empty version is returned if no such metadata is attached.
Definition at line861 of fileModule.cpp.
bool Module::getSemanticInterposition | ( | ) | const |
Returns whether semantic interposition is to be respected.
Definition at line694 of fileModule.cpp.
Referenced byllvm::GlobalValue::isInterposable().
| inline |
Get the module's original source file name.
When compiling from bitcode, this is taken from a bitcode record where it was recorded. For other compiles it is the same as the ModuleID, which would contain the source file name.
Definition at line279 of fileModule.h.
Referenced byllvm::sandboxir::Module::getSourceFileName(),llvm::getStrippedSourceFileName(),llvm::FunctionImporter::importFunctions(),selectExplicitSectionGlobal(), andllvm::thinLTOInternalizeModule().
StringRef Module::getStackProtectorGuard | ( | ) | const |
Get/set what kind of stack protector guard to use.
Definition at line753 of fileModule.cpp.
int Module::getStackProtectorGuardOffset | ( | ) | const |
Get/set what offset from the stack protector to use.
Definition at line789 of fileModule.cpp.
StringRef Module::getStackProtectorGuardReg | ( | ) | const |
Get/set which register to use as the stack protector guard register.
The empty string is equivalent to "global". Other values may be "tls" or "sysreg".
Definition at line765 of fileModule.cpp.
StringRef Module::getStackProtectorGuardSymbol | ( | ) | const |
Get/set a symbol to use as the stack protector guard.
Definition at line777 of fileModule.cpp.
| inlinestatic |
| inline |
Get the target triple which is a string describing the target host.
Definition at line298 of fileModule.h.
Referenced byllvm::ModuleSymbolTable::addModule(),llvm::CodeViewDebug::beginFunctionImpl(),llvm::GlobalObject::canIncreaseAlignment(),llvm::ThinLTOCodeGenerator::crossModuleImport(),llvm::ThinLTOCodeGenerator::emitImports(),llvm::CodeViewDebug::endFunctionImpl(),llvm::ThinLTOCodeGenerator::gatherImportedSummariesForModule(),llvm::OpenMPIRBuilder::getOrCreateInternalVariable(),llvm::LTOModule::getTargetTriple(),insertSinCosCall(),llvm::ThinLTOCodeGenerator::internalize(),llvm::TargetLibraryInfoImpl::isCallingConvCCompatible(),llvm::ThinLTOCodeGenerator::optimize(), andllvm::ThinLTOCodeGenerator::promote().
std::string Module::getUniqueIntrinsicName | ( | StringRef | BaseName, |
Intrinsic::ID | Id, | ||
constFunctionType * | Proto | ||
) |
Return a unique name for an intrinsic whose mangling is based on an unnamed type.
The Proto represents the function prototype.
Definition at line506 of fileModule.cpp.
UWTableKind Module::getUwtable | ( | ) | const |
Get/set whether synthesized functions should get the uwtable attribute.
Definition at line733 of fileModule.cpp.
| inline |
| inline |
| inline |
Definition at line695 of fileModule.h.
Referenced byLLVMGetPreviousGlobal().
| inline |
| inline |
Definition at line697 of fileModule.h.
Referenced byLLVMGetNextGlobal().
| inline |
iterator_range<Module::global_object_iterator > Module::global_objects | ( | ) |
Definition at line442 of fileModule.cpp.
Referenced byllvm::thinLTOFinalizeInModule().
iterator_range<Module::const_global_object_iterator > Module::global_objects | ( | ) | const |
Definition at line446 of fileModule.cpp.
iterator_range<Module::global_value_iterator > Module::global_values | ( | ) |
Definition at line450 of fileModule.cpp.
Referenced byllvm::RecordStreamer::flushSymverDirectives().
iterator_range<Module::const_global_value_iterator > Module::global_values | ( | ) | const |
Definition at line454 of fileModule.cpp.
| inline |
Definition at line702 of fileModule.h.
Referencesllvm::make_range().
Referenced byllvm::sandboxir::Context::createModule(),llvm::OpenMPIRBuilder::getOrCreateIdent(),llvm::OpenMPIRBuilder::getOrCreateSrcLocStr(), andllvm::thinLTOFinalizeInModule().
| inline |
Definition at line705 of fileModule.h.
Referencesllvm::make_range().
| inline |
Definition at line753 of fileModule.h.
Referenced byLLVMGetPreviousGlobalIFunc().
| inline |
| inline |
Definition at line755 of fileModule.h.
Referenced byLLVMGetNextGlobalIFunc().
| inline |
| inline |
Definition at line760 of fileModule.h.
Referencesllvm::make_range().
Referenced byllvm::sandboxir::Context::createModule().
| inline |
Definition at line763 of fileModule.h.
Referencesllvm::make_range().
| inline |
| inline |
| inline |
Insert global variableGV
at the end of the global variable list and take ownership.
Definition at line586 of fileModule.h.
Referenced byOptimizeGlobalAddressOfAllocation(),removeGlobalCtors(), andTryToShrinkGlobalToBoolean().
| inline |
| inline |
bool Module::isDwarf64 | ( | ) | const |
Returns the DWARF format by checking module flags.
Definition at line592 of fileModule.cpp.
Referenced byllvm::DwarfDebug::DwarfDebug().
| static |
Checks ifMetadata represents a valid ModFlagBehavior, and stores the converted result in MFB.
Definition at line325 of fileModule.cpp.
Error Module::materialize | ( | GlobalValue * | GV | ) |
Make sure theGlobalValue is fully read.
Definition at line468 of fileModule.cpp.
Referenced byllvm::GlobalValue::materialize().
Error Module::materializeAll | ( | ) |
Make sure all GlobalValues in thisModule are fully read and clear the Materializer.
Definition at line475 of fileModule.cpp.
Error Module::materializeMetadata | ( | ) |
Definition at line482 of fileModule.cpp.
| inline |
Definition at line807 of fileModule.h.
Referencesllvm::make_range().
| inline |
Definition at line810 of fileModule.h.
Referencesllvm::make_range().
| inline |
Definition at line794 of fileModule.h.
Referenced byLLVMGetPreviousNamedMetadata().
| inline |
| inline |
Definition at line799 of fileModule.h.
Referenced byLLVMGetNextNamedMetadata().
| inline |
Move assignment.
Definition at line80 of fileModule.cpp.
void Module::print | ( | raw_ostream & | OS, |
AssemblyAnnotationWriter * | AAW, | ||
bool | ShouldPreserveUseListOrder =false , | ||
bool | IsForDebug =false | ||
) | const |
Print the module to an output stream with an optionalAssemblyAnnotationWriter.
IfShouldPreserveUseListOrder
, then include uselistorder directives so that use-lists can be recreated when reading the assembly.
Definition at line4912 of fileAsmWriter.cpp.
ReferencesOS.
Referenced bydump().
| inline |
| inline |
| inline |
DetachAlias
from the list but don't delete it.
Definition at line622 of fileModule.h.
Referenced byllvm::GlobalAlias::removeFromParent().
void Module::removeDebugIntrinsicDeclarations | ( | ) |
Used when printing this module in the new debug info format; removes all declarations of debug intrinsics that are replaced by non-intrinsic records in the new format.
Definition at line124 of fileModule.cpp.
| inline |
Detach global variableGV
from the list but don't delete it.
Definition at line581 of fileModule.h.
Referenced byllvm::GlobalVariable::removeFromParent().
| inline |
DetachIFunc
from the list but don't delete it.
Definition at line631 of fileModule.h.
Referenced byllvm::GlobalIFunc::removeFromParent().
| inline |
| inline |
| inline |
void Module::setCodeModel | ( | CodeModel::Model | CL | ) |
Set the code model (tiny, small, kernel, medium or large)
Definition at line657 of fileModule.cpp.
void Module::setDarwinTargetVariantSDKVersion | ( | VersionTuple | Version | ) |
Set the target variant version build SDK version metadata.
Definition at line915 of fileModule.cpp.
void Module::setDarwinTargetVariantTriple | ( | StringRef | T | ) |
Set the target variant triple which is a string describing a variant of the target host platform.
Definition at line906 of fileModule.cpp.
void Module::setDataLayout | ( | constDataLayout & | Other | ) |
Definition at line427 of fileModule.cpp.
void Module::setDataLayout | ( | StringRef | Desc | ) |
Set the data layout.
Definition at line425 of fileModule.cpp.
void Module::setDirectAccessExternalData | ( | bool | Value | ) |
Definition at line729 of fileModule.cpp.
void Module::setFramePointer | ( | FramePointerKind | Kind | ) |
Definition at line749 of fileModule.cpp.
| inline |
void Module::setLargeDataThreshold | ( | uint64_t | Threshold | ) |
Set the code model (tiny, small, kernel, medium or large)
Definition at line675 of fileModule.cpp.
void Module::setMaterializer | ( | GVMaterializer * | GVM | ) |
Sets theGVMaterializer to GVM.
This module must not yet have a Materializer. To reset the materializer for a module that already has one, call materializeAll first. Destroying this module will destroy its materializer without materializing any more GlobalValues. Without destroying theModule, there is no way to detach or destroy a materializer without materializing all the GVs it controls, to avoid leaving orphan unmaterialized GVs.
Definition at line461 of fileModule.cpp.
void Module::setModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
Constant * | Val | ||
) |
Definition at line415 of fileModule.cpp.
void Module::setModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
Metadata * | Val | ||
) |
Like addModuleFlag but replaces the old module flag if it already exists.
Definition at line403 of fileModule.cpp.
void Module::setModuleFlag | ( | ModFlagBehavior | Behavior, |
StringRef | Key, | ||
uint32_t | Val | ||
) |
Definition at line419 of fileModule.cpp.
| inline |
| inline |
| inline |
void Module::setOverrideStackAlignment | ( | unsigned | Align | ) |
Definition at line814 of fileModule.cpp.
void Module::setOwnedMemoryBuffer | ( | std::unique_ptr<MemoryBuffer > | MB | ) |
Take ownership of the given memory buffer.
Definition at line708 of fileModule.cpp.
void Module::setPartialSampleProfileRatio | ( | constModuleSummaryIndex & | Index | ) |
Set the partial sample profile ratio in the profile summary module flag, if applicable.
Definition at line880 of fileModule.cpp.
void Module::setPICLevel | ( | PICLevel::Level | PL | ) |
Set the PIC level (small or large model)
Definition at line627 of fileModule.cpp.
void Module::setPIELevel | ( | PIELevel::Level | PL | ) |
Set the PIE level (small or large model)
Definition at line643 of fileModule.cpp.
void Module::setProfileSummary | ( | Metadata * | M, |
ProfileSummary::Kind | Kind | ||
) |
Attach profile summary metadata to this module.
Definition at line682 of fileModule.cpp.
void Module::setRtLibUseGOT | ( | ) |
Set that PLT should be avoid for RTLib calls.
Definition at line717 of fileModule.cpp.
void Module::setSDKVersion | ( | constVersionTuple & | V | ) |
Attach a build SDK version metadata to this module.
Definition at line832 of fileModule.cpp.
void Module::setSemanticInterposition | ( | bool | SI | ) |
Set whether semantic interposition is to be respected.
Definition at line704 of fileModule.cpp.
| inline |
void Module::setStackProtectorGuard | ( | StringRef | Kind | ) |
Definition at line760 of fileModule.cpp.
void Module::setStackProtectorGuardOffset | ( | int | Offset | ) |
Definition at line796 of fileModule.cpp.
void Module::setStackProtectorGuardReg | ( | StringRef | Reg | ) |
Definition at line772 of fileModule.cpp.
void Module::setStackProtectorGuardSymbol | ( | StringRef | Symbol | ) |
Definition at line784 of fileModule.cpp.
| inline |
Set the target triple.
Definition at line341 of fileModule.h.
Referenced byllvm::LTOModule::setTargetTriple().
void Module::setUwtable | ( | UWTableKind | Kind | ) |
Definition at line739 of fileModule.cpp.
| inline |
| friend |
| friend |
| friend |
bool llvm::Module::IsNewDbgInfoFormat |
Is thisModule using intrinsics to record the position of debugging information, or non-intrinsic records? See IsNewDbgInfoFormat inBasicBlock.
Definition at line217 of fileModule.h.
Referenced byllvm::FastISel::fastEmitBranch(),llvm::DIBuilder::insertDbgAssign(), andllvm::UpgradeIntrinsicCall().