LLVM: llvm::Module Class Reference (original) (raw)
A Module instance is used to store all the information related to an LLVM module. More...
#include "[llvm/IR/Module.h](IR%5F2Module%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| 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 on ELF targets. | |
| void | setDirectAccessExternalData (bool Value) |
| 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 (StringRef Reg) |
| 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 (int Offset) |
| unsigned | getOverrideStackAlignment () const |
| Get/set the stack alignment overridden from the default. | |
| void | setOverrideStackAlignment (unsigned Align) |
| unsigned | getMaxTLSAlignment () const |
| void | setOwnedMemoryBuffer (std::unique_ptr< MemoryBuffer > MB) |
| Take ownership of the given memory buffer. | |
| void | setPartialSampleProfileRatio (const ModuleSummaryIndex &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 (StringRef T) |
| 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 (VersionTuple Version) |
| Set the target variant version build SDK version metadata. | |
| StringRef | getTargetABIFromMD () |
| Returns target-abi from MDString, null if target-abi is absent. | |
| WinX64EHUnwindV2Mode | getWinX64EHUnwindV2Mode () const |
| Get how unwind v2 (epilog) information should be generated for x64 Windows. | |
| Constructors | |
| 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 () |
| Module (StringRef ModuleID, LLVMContext &C) | |
| The Module constructor. | |
| ~Module () | |
| The module destructor. This will dropAllReferences. | |
| Module & | operator= (Module &&Other) |
| Move assignment. | |
| 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. | |
| const DataLayout & | getDataLayout () const |
| Get the data layout for the module's target platform. | |
| const Triple & | 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 (const StringRef Name) const |
| Get a RandomNumberGenerator salted for use with this module. | |
| bool | shouldEmitInstrCountChangedRemark () |
| Return true if size-info optimization remark is enabled, false otherwise. | |
| Module Level Mutators | |
| void | setModuleIdentifier (StringRef ID) |
| Set the module identifier. | |
| void | setSourceFileName (StringRef Name) |
| Set the module's original source file name. | |
| void | setDataLayout (StringRef Desc) |
| Set the data layout. | |
| void | setDataLayout (const DataLayout &Other) |
| void | setTargetTriple (Triple T) |
| 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 (StringRef Name) 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 (StringRef Name) const |
| Return a unique non-zero ID for the specified metadata kind. | |
| void | getMDKindNames (SmallVectorImpl< StringRef > &Result) const |
| Populate client supplied SmallVector with the name for custom metadata IDs registered in this LLVMContext. | |
| void | getOperandBundleTags (SmallVectorImpl< StringRef > &Result) const |
| Populate client supplied SmallVector with the bundle tags registered in this LLVMContext. | |
| std::vector< StructType * > | getIdentifiedStructTypes () const |
| std::string | getUniqueIntrinsicName (StringRef BaseName, Intrinsic::ID Id, const FunctionType *Proto) |
| Return a unique name for an intrinsic whose mangling is based on an unnamed type. | |
| Function Accessors | |
| FunctionCallee | getOrInsertFunction (StringRef Name, FunctionType *T, AttributeList AttributeList) |
| Look up the specified function in the module symbol table. | |
| FunctionCallee | getOrInsertFunction (StringRef Name, FunctionType *T) |
| template<typename... ArgsTy> | |
| FunctionCallee | getOrInsertFunction (StringRef Name, AttributeList AttributeList, 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 (StringRef Name, Type *RetTy, ArgsTy... Args) |
| Same as above, but without the attributes. | |
| template<typename... ArgsTy> | |
| FunctionCallee | getOrInsertFunction (StringRef Name, AttributeList AttributeList, FunctionType *Invalid, ArgsTy... Args)=delete |
| Function * | getFunction (StringRef Name) const |
| Look up the specified function in the module symbol table. | |
| Global Variable Accessors | |
| GlobalVariable * | getGlobalVariable (StringRef Name) const |
| Look up the specified global variable in the module symbol table. | |
| GlobalVariable * | getGlobalVariable (StringRef Name, bool AllowInternal) const |
| getGlobalVariable - Look up the specified global variable in the module symbol table. | |
| GlobalVariable * | getGlobalVariable (StringRef Name, bool AllowInternal=false) |
| const GlobalVariable * | getNamedGlobal (StringRef Name) const |
| Return the global variable in the module with the specified name, of arbitrary type. | |
| GlobalVariable * | getNamedGlobal (StringRef Name) |
| GlobalVariable * | getOrInsertGlobal (StringRef Name, Type *Ty, function_ref< GlobalVariable *()> CreateGlobalCallback) |
| Look up the specified global in the module symbol table. | |
| GlobalVariable * | getOrInsertGlobal (StringRef Name, Type *Ty) |
| Look up the specified global in the module symbol table. | |
| Global Alias Accessors | |
| GlobalAlias * | getNamedAlias (StringRef Name) const |
| Return the global alias in the module with the specified name, of arbitrary type. | |
| Global IFunc Accessors | |
| GlobalIFunc * | getNamedIFunc (StringRef Name) const |
| Return the global ifunc in the module with the specified name, of arbitrary type. | |
| Named Metadata Accessors | |
| NamedMDNode * | getNamedMetadata (StringRef Name) const |
| Return the first NamedMDNode in the module with the specified name. | |
| NamedMDNode * | getOrInsertNamedMetadata (StringRef Name) |
| Return the named MDNode in the module with the specified name. | |
| void | eraseNamedMetadata (NamedMDNode *NMD) |
| Remove the given NamedMDNode from this module and delete it. | |
| Comdat Accessors | |
| Comdat * | getOrInsertComdat (StringRef Name) |
| Return the Comdat 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 the NamedMDNode in the module that represents module-level flags. | |
| NamedMDNode * | getOrInsertModuleFlagsMetadata () |
| Returns the NamedMDNode 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 the GVMaterializer to GVM. | |
| GVMaterializer * | getMaterializer () const |
| Retrieves the GVMaterializer, if any, for this Module. | |
| bool | isMaterialized () const |
| llvm::Error | materialize (GlobalValue *GV) |
| Make sure the GlobalValue is fully read. | |
| llvm::Error | materializeAll () |
| Make sure all GlobalValues in this Module are fully read and clear the Materializer. | |
| llvm::Error | materializeMetadata () |
| void | removeGlobalVariable (GlobalVariable *GV) |
| Detach global variable GV from the list but don't delete it. | |
| void | eraseGlobalVariable (GlobalVariable *GV) |
| Remove global variable GV from the list and delete it. | |
| void | insertGlobalVariable (GlobalVariable *GV) |
| Insert global variable GV at the end of the global variable list and take ownership. | |
| void | insertGlobalVariable (GlobalListType::iterator Where, GlobalVariable *GV) |
| Insert global variable GV into the global variable list before Where 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 |
| auto | getFunctionDefs () |
| Get an iterator range over all function definitions (excluding declarations). | |
| auto | getFunctionDefs () 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 this Module'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 optional AssemblyAnnotationWriter. | |
| 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 of Register 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 large data threshold. | |
| void | setLargeDataThreshold (uint64_t Threshold) |
| Set the large data threshold. | |
| 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 (const VersionTuple &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 |
| The Function iterators. | |
| using | const_iterator = FunctionListType::const_iterator |
| The Function constant iterator. | |
| using | reverse_iterator = FunctionListType::reverse_iterator |
| The Function reverse iterator. | |
| using | const_reverse_iterator = FunctionListType::const_reverse_iterator |
| The Function 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. | |
| static bool | isValidModFlagBehavior (Metadata *MD, ModFlagBehavior &MFB) |
| Checks if Metadata represents a valid ModFlagBehavior, and stores the converted result in MFB. |
| Convenience iterators | |
|---|---|
| using | global_object_iterator |
| using | const_global_object_iterator |
| using | global_value_iterator |
| using | const_global_value_iterator |
| iterator_range< global_object_iterator > | global_objects () |
| iterator_range< const_global_object_iterator > | global_objects () const |
| iterator_range< global_value_iterator > | global_values () |
| iterator_range< const_global_value_iterator > | global_values () const |
| 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 > |
| static FunctionListType Module::* | getSublistAccess (Function *) |
| const FunctionListType & | getFunctionList () const |
| Get the Module's list of functions (constant). | |
| FunctionListType & | getFunctionList () |
| Get the Module's list of functions. | |
| void | removeAlias (GlobalAlias *Alias) |
| Detach Alias from the list but don't delete it. | |
| void | eraseAlias (GlobalAlias *Alias) |
| Remove Alias from the list and delete it. | |
| void | insertAlias (GlobalAlias *Alias) |
| Insert Alias at the end of the alias list and take ownership. | |
| void | removeIFunc (GlobalIFunc *IFunc) |
| Detach IFunc from the list but don't delete it. | |
| void | eraseIFunc (GlobalIFunc *IFunc) |
| Remove IFunc from the list and delete it. | |
| void | insertIFunc (GlobalIFunc *IFunc) |
| Insert IFunc at the end of the alias list and take ownership. | |
| void | removeNamedMDNode (NamedMDNode *MDNode) |
| Detach MDNode from the list but don't delete it. | |
| void | eraseNamedMDNode (NamedMDNode *MDNode) |
| Remove MDNode from the list and delete it. | |
| void | insertNamedMDNode (NamedMDNode *MDNode) |
| Insert MDNode at the end of the alias list and take ownership. | |
| const ValueSymbolTable & | getValueSymbolTable () const |
| Get the symbol table of global variable and function identifiers. | |
| ValueSymbolTable & | getValueSymbolTable () |
| Get the Module's symbol table of global variable and function identifiers. | |
| const ComdatSymTabType & | getComdatSymbolTable () const |
| Get the Module's symbol table for COMDATs (constant). | |
| ComdatSymTabType & | getComdatSymbolTable () |
| Get the Module's symbol table for COMDATs. |
A Module 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.
Definition at line 67 of file Module.h.
◆ alias_iterator
The Global Alias iterators.
Definition at line 102 of file Module.h.
◆ AliasListType
The type for the list of aliases.
Definition at line 76 of file Module.h.
◆ ComdatSymTabType
The type of the comdat "symbol" table.
Definition at line 82 of file Module.h.
◆ const_alias_iterator
The Global Alias constant iterator.
Definition at line 104 of file Module.h.
◆ const_global_iterator
The Global Variable constant iterator.
Definition at line 89 of file Module.h.
◆ const_global_object_iterator
Initial value:
GlobalListType::const_iterator const_global_iterator
The Global Variable constant iterator.
FunctionListType::const_iterator const_iterator
The Function constant iterator.
Iterator wrapper that concatenates sequences together.
Definition at line 766 of file Module.h.
◆ const_global_value_iterator
Initial value:
IFuncListType::const_iterator const_ifunc_iterator
The Global IFunc constant iterator.
AliasListType::const_iterator const_alias_iterator
The Global Alias constant iterator.
Definition at line 776 of file Module.h.
◆ const_ifunc_iterator
The Global IFunc constant iterator.
Definition at line 109 of file Module.h.
◆ const_iterator
◆ const_named_metadata_iterator
The named metadata constant iterators.
Definition at line 114 of file Module.h.
◆ const_reverse_iterator
◆ FunctionListType
The type for the list of functions.
Definition at line 74 of file Module.h.
◆ global_iterator
The Global Variable iterator.
Definition at line 87 of file Module.h.
◆ global_object_iterator
Initial value:
Definition at line 764 of file Module.h.
◆ global_value_iterator
Initial value:
IFuncListType::iterator ifunc_iterator
The Global IFunc iterators.
FunctionListType::iterator iterator
The Function iterators.
GlobalListType::iterator global_iterator
The Global Variable iterator.
AliasListType::iterator alias_iterator
The Global Alias iterators.
Definition at line 773 of file Module.h.
◆ GlobalListType
The type for the list of global variables.
Definition at line 72 of file Module.h.
◆ ifunc_iterator
The Global IFunc iterators.
Definition at line 107 of file Module.h.
◆ IFuncListType
The type for the list of ifuncs.
Definition at line 78 of file Module.h.
◆ iterator
◆ named_metadata_iterator
The named metadata iterators.
Definition at line 112 of file Module.h.
◆ NamedMDListType
The type for the list of named metadata.
Definition at line 80 of file Module.h.
◆ NamedMDSymTabType
The type for mapping names to named metadata.
Definition at line 84 of file Module.h.
◆ reverse_iterator
◆ ModFlagBehavior
This enumeration defines the supported behaviors of module flags.
| Enumerator | |
|---|---|
| Error | Emits an error if two values disagree, otherwise the resulting value is that of the operands. |
| Warning | Emits a warning if two values disagree. The result value will be the operand for the flag from the first module being linked. |
| Require | Adds a requirement that another module flag be present and have a specified value after linking is performed. The value must be a metadata pair, where the first element of the pair is the ID of the module flag to be restricted, and the second element of the pair is the value the module flag should be restricted to. This behavior can be used to restrict the allowable results (via triggering of an error) of linking IDs with the Override behavior. |
| Override | Uses the specified value, regardless of the behavior or value of the other module. If both modules specify Override, but the values differ, an error will be emitted. |
| Append | Appends the two values, which are required to be metadata nodes. |
| AppendUnique | Appends the two values, which are required to be metadata nodes. However, duplicate entries in the second list are dropped during the append operation. |
| Max | Takes the max of the two values, which are required to be integers. |
| Min | Takes the min of the two values, which are required to be integers. |
| ModFlagBehaviorFirstVal | |
| ModFlagBehaviorLastVal |
Definition at line 117 of file Module.h.
◆ ~Module()
The module destructor. This will dropAllReferences.
Definition at line 113 of file Module.cpp.
◆ addModuleFlag() [1/4]
| void Module::addModuleFlag | ( | MDNode * | Node | ) |
|---|
◆ addModuleFlag() [2/4]
◆ addModuleFlag() [3/4]
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 line 376 of file Module.cpp.
◆ addModuleFlag() [4/4]
◆ alias_begin() [1/2]
| alias_iterator llvm::Module::alias_begin ( ) | inline |
|---|
◆ alias_begin() [2/2]
| const_alias_iterator llvm::Module::alias_begin ( ) const | inline |
|---|
◆ alias_empty()
| bool llvm::Module::alias_empty ( ) const | inline |
|---|
◆ alias_end() [1/2]
| alias_iterator llvm::Module::alias_end ( ) | inline |
|---|
◆ alias_end() [2/2]
| const_alias_iterator llvm::Module::alias_end ( ) const | inline |
|---|
◆ alias_size()
| size_t llvm::Module::alias_size ( ) const | inline |
|---|
◆ aliases() [1/2]
◆ aliases() [2/2]
◆ appendModuleInlineAsm()
| void llvm::Module::appendModuleInlineAsm ( StringRef Asm) | inline |
|---|
Append to the module-scope inline assembly blocks.
A trailing newline is added if the input doesn't have one.
Definition at line 336 of file Module.h.
◆ begin() [1/2]
| iterator llvm::Module::begin ( ) | inline |
|---|
◆ begin() [2/2]
| const_iterator llvm::Module::begin ( ) const | inline |
|---|
◆ convertFromNewDbgValues()
| void llvm::Module::convertFromNewDbgValues ( ) | inline |
|---|
◆ convertToNewDbgValues()
| void llvm::Module::convertToNewDbgValues ( ) | inline |
|---|
◆ createRNG()
Get a RandomNumberGenerator salted for use with this module.
The RNG can be seeded via -rng-seed= 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 line 150 of file Module.cpp.
◆ debug_compile_units()
◆ debug_compile_units_begin()
◆ debug_compile_units_end()
◆ dropAllReferences()
| 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 line 568 of file Module.cpp.
◆ dump()
| void Module::dump | ( | ) | const |
|---|
◆ empty()
| bool llvm::Module::empty ( ) const | inline |
|---|
◆ end() [1/2]
| iterator llvm::Module::end ( ) | inline |
|---|
◆ end() [2/2]
| const_iterator llvm::Module::end ( ) const | inline |
|---|
◆ eraseAlias()
| void llvm::Module::eraseAlias ( GlobalAlias * Alias) | inline |
|---|
◆ eraseGlobalVariable()
◆ eraseIFunc()
| void llvm::Module::eraseIFunc ( GlobalIFunc * IFunc) | inline |
|---|
◆ eraseNamedMDNode()
| void llvm::Module::eraseNamedMDNode ( NamedMDNode * MDNode) | inline |
|---|
◆ eraseNamedMetadata()
◆ functions() [1/2]
◆ functions() [2/2]
◆ getCodeModel()
◆ getCodeViewFlag()
| unsigned Module::getCodeViewFlag | ( | ) | const |
|---|
◆ getComdatSymbolTable() [1/2]
| ComdatSymTabType & llvm::Module::getComdatSymbolTable ( ) | inline |
|---|
◆ getComdatSymbolTable() [2/2]
| const ComdatSymTabType & llvm::Module::getComdatSymbolTable ( ) const | inline |
|---|
Get the Module's symbol table for COMDATs (constant).
Definition at line 669 of file Module.h.
◆ getContext()
| LLVMContext & llvm::Module::getContext ( ) const | inline |
|---|
Get the global data context.
Returns
LLVMContext - a container for LLVM's global information
Definition at line 285 of file Module.h.
Referenced by addFunctionTypeMutation(), crossImportIntoModule(), llvm::WebAssemblyAsmPrinter::emitGlobalVariable(), llvm::FunctionImporter::importFunctions(), optimizeModule(), llvm::parseConstantValue(), llvm::parseDIExpressionBodyAtBeginning(), llvm::parseTypeAtBeginning(), populateReductionFunction(), shouldEmitInstrCountChangedRemark(), updateSubprogramLinkageName(), and verifyLoadedModule().
◆ getDarwinTargetVariantSDKVersion()
| 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 line 916 of file Module.cpp.
◆ getDarwinTargetVariantTriple()
| 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.
Returns
a string containing the target variant triple.
Definition at line 905 of file Module.cpp.
◆ getDataLayout()
◆ getDataLayoutStr()
| const std::string & llvm::Module::getDataLayoutStr ( ) const | inline |
|---|
Get the data layout string for the module's target platform.
This is equivalent to getDataLayout()->getStringRepresentation().
Definition at line 273 of file Module.h.
◆ getDirectAccessExternalData()
| bool Module::getDirectAccessExternalData | ( | ) | const |
|---|
Get/set whether referencing global variables can use direct access relocations on ELF targets.
Definition at line 726 of file Module.cpp.
◆ getDwarfVersion()
| unsigned Module::getDwarfVersion | ( | ) | const |
|---|
Returns the Dwarf Version by checking module flags.
Definition at line 590 of file Module.cpp.
◆ getFramePointer()
Get/set whether synthesized functions should get the "frame-pointer" attribute.
Definition at line 748 of file Module.cpp.
◆ getFunction()
◆ getFunctionDefs() [1/2]
| auto llvm::Module::getFunctionDefs ( ) | inline |
|---|
◆ getFunctionDefs() [2/2]
| auto llvm::Module::getFunctionDefs ( ) const | inline |
|---|
◆ getFunctionList() [1/2]
| FunctionListType & llvm::Module::getFunctionList ( ) | inline |
|---|
◆ getFunctionList() [2/2]
| const FunctionListType & llvm::Module::getFunctionList ( ) const | inline |
|---|
◆ getGlobalVariable() [1/3]
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 line 430 of file Module.h.
References getGlobalVariable().
◆ getGlobalVariable() [2/3]
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-level PointerType, 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 line 245 of file Module.cpp.
◆ getGlobalVariable() [3/3]
◆ getIdentifiedStructTypes()
| std::vector< StructType * > Module::getIdentifiedStructTypes | ( | ) | const |
|---|
◆ getInstructionCount()
| 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 line 609 of file Module.cpp.
◆ getLargeDataThreshold()
| std::optional< uint64_t > Module::getLargeDataThreshold | ( | ) | const |
|---|
Returns the large data threshold.
Definition at line 670 of file Module.cpp.
◆ getMaterializer()
◆ getMaxTLSAlignment()
| unsigned Module::getMaxTLSAlignment | ( | ) | const |
|---|
◆ getMDKindID()
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 current LLVMContext.
Definition at line 182 of file Module.cpp.
◆ getMDKindNames()
Populate client supplied SmallVector with the name for custom metadata IDs registered in this LLVMContext.
getMDKindNames - Populate client supplied SmallVector with the name for custom metadata IDs registered in this LLVMContext.
ID #0 is not used, so it is filled in as an empty string.
Definition at line 189 of file Module.cpp.
◆ getModuleFlag()
◆ getModuleFlagsMetadata() [1/2]
| NamedMDNode * llvm::Module::getModuleFlagsMetadata ( ) const | inline |
|---|
Returns the NamedMDNode in the module that represents module-level flags.
This method returns null if there are no module-level flags.
Definition at line 519 of file Module.h.
◆ getModuleFlagsMetadata() [2/2]
Returns the module flags in the provided vector.
getModuleFlagsMetadata - Returns the module flags in the provided vector.
Definition at line 336 of file Module.cpp.
◆ getModuleIdentifier()
| const std::string & llvm::Module::getModuleIdentifier ( ) const | inline |
|---|
Get the module identifier which is, essentially, the name of the module.
Returns
the module identifier as a string
Definition at line 252 of file Module.h.
Referenced by llvm::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::ThinLTOCodeGenerator::promote(), and llvm::cgdata::saveModuleForTwoRounds().
◆ getModuleInlineAsm()
| const std::string & llvm::Module::getModuleInlineAsm ( ) const | inline |
|---|
Get any module-scope inline assembly blocks.
Returns
a string containing the module-scope inline assembly blocks.
Definition at line 289 of file Module.h.
◆ getName()
| StringRef llvm::Module::getName ( ) const | inline |
|---|
◆ getNamedAlias()
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 line 285 of file Module.cpp.
◆ getNamedGlobal() [1/2]
◆ getNamedGlobal() [2/2]
◆ getNamedIFunc()
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 line 289 of file Module.cpp.
◆ getNamedMetadata()
◆ getNamedValue()
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 line 172 of file Module.cpp.
Referenced by getComdatGVForCOFF().
◆ getNumberRegisterParameters()
| unsigned Module::getNumberRegisterParameters | ( | ) | const |
|---|
Returns the Number of Register ParametersDwarf Version by checking module flags.
Definition at line 582 of file Module.cpp.
◆ getNumNamedValues()
| unsigned Module::getNumNamedValues | ( | ) | const |
|---|
Return the number of global values in the module.
Definition at line 176 of file Module.cpp.
◆ getOperandBundleTags()
◆ getOrInsertComdat()
Return the Comdat in the module with the specified name.
It is created if it didn't already exist.
Definition at line 616 of file Module.cpp.
◆ getOrInsertFunction() [1/5]
template<typename... ArgsTy>
◆ getOrInsertFunction() [2/5]
template<typename... ArgsTy>
◆ getOrInsertFunction() [3/5]
◆ getOrInsertFunction() [4/5]
◆ getOrInsertFunction() [5/5]
template<typename... ArgsTy>
◆ getOrInsertGlobal() [1/2]
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 line 271 of file Module.cpp.
◆ getOrInsertGlobal() [2/2]
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.
If it does not exist, add a declaration of the global and return it. Otherwise, return the existing global.
Definition at line 257 of file Module.cpp.
◆ getOrInsertModuleFlagsMetadata()
| NamedMDNode * Module::getOrInsertModuleFlagsMetadata | ( | ) |
|---|
Returns the NamedMDNode in the module that represents module-level flags.
getOrInsertModuleFlagsMetadata - Returns the NamedMDNode 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 line 367 of file Module.cpp.
◆ getOrInsertNamedMetadata()
◆ getOverrideStackAlignment()
| unsigned Module::getOverrideStackAlignment | ( | ) | const |
|---|
Get/set the stack alignment overridden from the default.
Definition at line 805 of file Module.cpp.
◆ getPICLevel()
Returns the PIC level (small or large model)
Definition at line 622 of file Module.cpp.
◆ getPIELevel()
◆ getProfileSummary()
Returns profile summary metadata.
When IsCS is true, use the context sensitive profile summary.
Definition at line 694 of file Module.cpp.
◆ getRtLibUseGOT()
| bool Module::getRtLibUseGOT | ( | ) | const |
|---|
Returns true if PLT should be avoided for RTLib calls.
Definition at line 717 of file Module.cpp.
◆ getSDKVersion()
Get the build SDK version metadata.
An empty version is returned if no such metadata is attached.
Definition at line 866 of file Module.cpp.
◆ getSemanticInterposition()
| bool Module::getSemanticInterposition | ( | ) | const |
|---|
◆ getSourceFileName()
| const std::string & llvm::Module::getSourceFileName ( ) const | inline |
|---|
◆ getStackProtectorGuard()
| StringRef Module::getStackProtectorGuard | ( | ) | const |
|---|
Get/set what kind of stack protector guard to use.
Definition at line 758 of file Module.cpp.
◆ getStackProtectorGuardOffset()
| int Module::getStackProtectorGuardOffset | ( | ) | const |
|---|
Get/set what offset from the stack protector to use.
Definition at line 794 of file Module.cpp.
◆ getStackProtectorGuardReg()
| 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 line 770 of file Module.cpp.
◆ getStackProtectorGuardSymbol()
| StringRef Module::getStackProtectorGuardSymbol | ( | ) | const |
|---|
Get/set a symbol to use as the stack protector guard.
Definition at line 782 of file Module.cpp.
◆ getSublistAccess()
| FunctionListType Module::* llvm::Module::getSublistAccess ( Function * ) | inlinestatic |
|---|
◆ getTargetABIFromMD()
Returns target-abi from MDString, null if target-abi is absent.
Definition at line 924 of file Module.cpp.
◆ getTargetTriple()
| const Triple & llvm::Module::getTargetTriple ( ) const | inline |
|---|
◆ getUniqueIntrinsicName()
Return a unique name for an intrinsic whose mangling is based on an unnamed type.
The Proto represents the function prototype.
Definition at line 511 of file Module.cpp.
◆ getUwtable()
Get/set whether synthesized functions should get the uwtable attribute.
Definition at line 738 of file Module.cpp.
◆ getValueSymbolTable() [1/2]
Get the Module's symbol table of global variable and function identifiers.
Definition at line 666 of file Module.h.
◆ getValueSymbolTable() [2/2]
Get the symbol table of global variable and function identifiers.
Definition at line 664 of file Module.h.
◆ getWinX64EHUnwindV2Mode()
Get how unwind v2 (epilog) information should be generated for x64 Windows.
Definition at line 932 of file Module.cpp.
◆ global_begin() [1/2]
| global_iterator llvm::Module::global_begin ( ) | inline |
|---|
◆ global_begin() [2/2]
| const_global_iterator llvm::Module::global_begin ( ) const | inline |
|---|
◆ global_empty()
| bool llvm::Module::global_empty ( ) const | inline |
|---|
◆ global_end() [1/2]
| global_iterator llvm::Module::global_end ( ) | inline |
|---|
◆ global_end() [2/2]
| const_global_iterator llvm::Module::global_end ( ) const | inline |
|---|
◆ global_objects() [1/2]
◆ global_objects() [2/2]
◆ global_size()
| size_t llvm::Module::global_size ( ) const | inline |
|---|
◆ global_values() [1/2]
◆ global_values() [2/2]
◆ globals() [1/2]
◆ globals() [2/2]
◆ ifunc_begin() [1/2]
| ifunc_iterator llvm::Module::ifunc_begin ( ) | inline |
|---|
◆ ifunc_begin() [2/2]
| const_ifunc_iterator llvm::Module::ifunc_begin ( ) const | inline |
|---|
◆ ifunc_empty()
| bool llvm::Module::ifunc_empty ( ) const | inline |
|---|
◆ ifunc_end() [1/2]
| ifunc_iterator llvm::Module::ifunc_end ( ) | inline |
|---|
◆ ifunc_end() [2/2]
| const_ifunc_iterator llvm::Module::ifunc_end ( ) const | inline |
|---|
◆ ifunc_size()
| size_t llvm::Module::ifunc_size ( ) const | inline |
|---|
◆ ifuncs() [1/2]
◆ ifuncs() [2/2]
◆ insertAlias()
| void llvm::Module::insertAlias ( GlobalAlias * Alias) | inline |
|---|
Insert Alias at the end of the alias list and take ownership.
Definition at line 608 of file Module.h.
◆ insertGlobalVariable() [1/2]
Insert global variable GV into the global variable list before Where and take ownership.
Definition at line 573 of file Module.h.
◆ insertGlobalVariable() [2/2]
◆ insertIFunc()
| void llvm::Module::insertIFunc ( GlobalIFunc * IFunc) | inline |
|---|
Insert IFunc at the end of the alias list and take ownership.
Definition at line 617 of file Module.h.
◆ insertNamedMDNode()
| void llvm::Module::insertNamedMDNode ( NamedMDNode * MDNode) | inline |
|---|
Insert [MDNode](classllvm%5F1%5F1MDNode.html "Metadata node.") at the end of the alias list and take ownership.
Definition at line 626 of file Module.h.
◆ isDwarf64()
| bool Module::isDwarf64 | ( | ) | const |
|---|
Returns the DWARF format by checking module flags.
Definition at line 597 of file Module.cpp.
◆ isMaterialized()
| bool llvm::Module::isMaterialized ( ) const | inline |
|---|
◆ isValidModFlagBehavior()
Checks if Metadata represents a valid ModFlagBehavior, and stores the converted result in MFB.
Definition at line 324 of file Module.cpp.
◆ materialize()
◆ materializeAll()
| Error Module::materializeAll | ( | ) |
|---|
Make sure all GlobalValues in this Module are fully read and clear the Materializer.
Definition at line 479 of file Module.cpp.
◆ materializeMetadata()
| Error Module::materializeMetadata | ( | ) |
|---|
◆ named_metadata() [1/2]
◆ named_metadata() [2/2]
◆ named_metadata_begin() [1/2]
| named_metadata_iterator llvm::Module::named_metadata_begin ( ) | inline |
|---|
◆ named_metadata_begin() [2/2]
| const_named_metadata_iterator llvm::Module::named_metadata_begin ( ) const | inline |
|---|
◆ named_metadata_empty()
| bool llvm::Module::named_metadata_empty ( ) const | inline |
|---|
◆ named_metadata_end() [1/2]
| named_metadata_iterator llvm::Module::named_metadata_end ( ) | inline |
|---|
◆ named_metadata_end() [2/2]
| const_named_metadata_iterator llvm::Module::named_metadata_end ( ) const | inline |
|---|
◆ named_metadata_size()
| size_t llvm::Module::named_metadata_size ( ) const | inline |
|---|
◆ operator=()
◆ print()
◆ rbegin() [1/2]
| reverse_iterator llvm::Module::rbegin ( ) | inline |
|---|
◆ rbegin() [2/2]
| const_reverse_iterator llvm::Module::rbegin ( ) const | inline |
|---|
◆ removeAlias()
| void llvm::Module::removeAlias ( GlobalAlias * Alias) | inline |
|---|
◆ removeDebugIntrinsicDeclarations()
| 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 line 122 of file Module.cpp.
Referenced by Constant.
◆ removeGlobalVariable()
◆ removeIFunc()
| void llvm::Module::removeIFunc ( GlobalIFunc * IFunc) | inline |
|---|
◆ removeNamedMDNode()
| void llvm::Module::removeNamedMDNode ( NamedMDNode * MDNode) | inline |
|---|
Detach [MDNode](classllvm%5F1%5F1MDNode.html "Metadata node.") from the list but don't delete it.
Definition at line 622 of file Module.h.
◆ rend() [1/2]
| reverse_iterator llvm::Module::rend ( ) | inline |
|---|
◆ rend() [2/2]
| const_reverse_iterator llvm::Module::rend ( ) const | inline |
|---|
◆ setCodeModel()
Set the code model (tiny, small, kernel, medium or large)
Definition at line 662 of file Module.cpp.
◆ setDarwinTargetVariantSDKVersion()
| void Module::setDarwinTargetVariantSDKVersion | ( | VersionTuple | Version | ) |
|---|
Set the target variant version build SDK version metadata.
Definition at line 920 of file Module.cpp.
◆ setDarwinTargetVariantTriple()
| void Module::setDarwinTargetVariantTriple | ( | StringRef | T | ) |
|---|
Set the target variant triple which is a string describing a variant of the target host platform.
Definition at line 911 of file Module.cpp.
◆ setDataLayout() [1/2]
◆ setDataLayout() [2/2]
◆ setDirectAccessExternalData()
| void Module::setDirectAccessExternalData | ( | bool | Value | ) |
|---|
◆ setFramePointer()
◆ setLargeDataThreshold()
| void Module::setLargeDataThreshold | ( | uint64_t | Threshold | ) |
|---|
Set the large data threshold.
Definition at line 680 of file Module.cpp.
◆ setMaterializer()
Sets the GVMaterializer 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 the Module, 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 line 465 of file Module.cpp.
◆ setModuleFlag() [1/3]
◆ setModuleFlag() [2/3]
Like addModuleFlag but replaces the old module flag if it already exists.
Definition at line 402 of file Module.cpp.
◆ setModuleFlag() [3/3]
◆ setModuleIdentifier()
| void llvm::Module::setModuleIdentifier ( StringRef ID) | inline |
|---|
Set the module identifier.
Definition at line 314 of file Module.h.
◆ setModuleInlineAsm()
| void llvm::Module::setModuleInlineAsm ( StringRef Asm) | inline |
|---|
Set the module-scope inline assembly blocks.
A trailing newline is added if the input doesn't have one.
Definition at line 328 of file Module.h.
◆ setOverrideStackAlignment()
| void Module::setOverrideStackAlignment | ( | unsigned | Align | ) |
|---|
◆ setOwnedMemoryBuffer()
| void Module::setOwnedMemoryBuffer | ( | std::unique_ptr< MemoryBuffer > | MB | ) |
|---|
Take ownership of the given memory buffer.
Definition at line 713 of file Module.cpp.
◆ setPartialSampleProfileRatio()
Set the partial sample profile ratio in the profile summary module flag, if applicable.
Definition at line 885 of file Module.cpp.
◆ setPICLevel()
Set the PIC level (small or large model)
Definition at line 632 of file Module.cpp.
◆ setPIELevel()
Set the PIE level (small or large model)
Definition at line 648 of file Module.cpp.
◆ setProfileSummary()
Attach profile summary metadata to this module.
Definition at line 687 of file Module.cpp.
◆ setRtLibUseGOT()
| void Module::setRtLibUseGOT | ( | ) |
|---|
Set that PLT should be avoid for RTLib calls.
Definition at line 722 of file Module.cpp.
◆ setSDKVersion()
Attach a build SDK version metadata to this module.
Definition at line 837 of file Module.cpp.
◆ setSemanticInterposition()
| void Module::setSemanticInterposition | ( | bool | SI | ) |
|---|
Set whether semantic interposition is to be respected.
Definition at line 709 of file Module.cpp.
◆ setSourceFileName()
| void llvm::Module::setSourceFileName ( StringRef Name) | inline |
|---|
Set the module's original source file name.
Definition at line 317 of file Module.h.
◆ setStackProtectorGuard()
| void Module::setStackProtectorGuard | ( | StringRef | Kind | ) |
|---|
◆ setStackProtectorGuardOffset()
| void Module::setStackProtectorGuardOffset | ( | int | Offset | ) |
|---|
◆ setStackProtectorGuardReg()
| void Module::setStackProtectorGuardReg | ( | StringRef | Reg | ) |
|---|
◆ setStackProtectorGuardSymbol()
| void Module::setStackProtectorGuardSymbol | ( | StringRef | Symbol | ) |
|---|
◆ setTargetTriple()
| void llvm::Module::setTargetTriple ( Triple T) | inline |
|---|
◆ setUwtable()
◆ shouldEmitInstrCountChangedRemark()
| bool llvm::Module::shouldEmitInstrCountChangedRemark ( ) | inline |
|---|
Return true if size-info optimization remark is enabled, false otherwise.
Definition at line 304 of file Module.h.
References getContext().
◆ size()
| size_t llvm::Module::size ( ) const | inline |
|---|
◆ Constant
◆ llvm::SymbolTableListTraits< llvm::GlobalAlias >
◆ llvm::SymbolTableListTraits< llvm::GlobalIFunc >
◆ llvm::SymbolTableListTraits< llvm::GlobalVariable >
The documentation for this class was generated from the following files:
- include/llvm/IR/Module.h
- lib/IR/AsmWriter.cpp
- lib/SandboxIR/Module.cpp