LLVM: Modules (original) (raw)
Modules represent the top-level structure in an LLVM program. More...
Functions | |
---|---|
LLVMModuleRef | LLVMModuleCreateWithName (const char *ModuleID) |
Create a new, empty module in the global context. | |
LLVMModuleRef | LLVMModuleCreateWithNameInContext (const char *ModuleID, LLVMContextRef C) |
Create a new, empty module in a specific context. | |
LLVMModuleRef | LLVMCloneModule (LLVMModuleRef M) |
Return an exact copy of the specified module. | |
void | LLVMDisposeModule (LLVMModuleRef M) |
Destroy a module instance. | |
LLVMBool | LLVMIsNewDbgInfoFormat (LLVMModuleRef M) |
Soon to be deprecated. | |
void | LLVMSetIsNewDbgInfoFormat (LLVMModuleRef M, LLVMBool UseNewFormat) |
Soon to be deprecated. | |
const char * | LLVMGetModuleIdentifier (LLVMModuleRef M, size_t *Len) |
Obtain the identifier of a module. | |
void | LLVMSetModuleIdentifier (LLVMModuleRef M, const char *Ident, size_t Len) |
Set the identifier of a module to a string Ident with length Len. | |
const char * | LLVMGetSourceFileName (LLVMModuleRef M, size_t *Len) |
Obtain the module's original source file name. | |
void | LLVMSetSourceFileName (LLVMModuleRef M, const char *Name, size_t Len) |
Set the original source file name of a module to a string Name with length Len. | |
const char * | LLVMGetDataLayoutStr (LLVMModuleRef M) |
Obtain the data layout for a module. | |
const char * | LLVMGetDataLayout (LLVMModuleRef M) |
void | LLVMSetDataLayout (LLVMModuleRef M, const char *DataLayoutStr) |
Set the data layout for a module. | |
const char * | LLVMGetTarget (LLVMModuleRef M) |
Obtain the target triple for a module. | |
void | LLVMSetTarget (LLVMModuleRef M, const char *Triple) |
Set the target triple for a module. | |
LLVMModuleFlagEntry * | LLVMCopyModuleFlagsMetadata (LLVMModuleRef M, size_t *Len) |
Returns the module flags as an array of flag-key-value triples. | |
void | LLVMDisposeModuleFlagsMetadata (LLVMModuleFlagEntry *Entries) |
Destroys module flags metadata entries. | |
LLVMModuleFlagBehavior | LLVMModuleFlagEntriesGetFlagBehavior (LLVMModuleFlagEntry *Entries, unsigned Index) |
Returns the flag behavior for a module flag entry at a specific index. | |
const char * | LLVMModuleFlagEntriesGetKey (LLVMModuleFlagEntry *Entries, unsigned Index, size_t *Len) |
Returns the key for a module flag entry at a specific index. | |
LLVMMetadataRef | LLVMModuleFlagEntriesGetMetadata (LLVMModuleFlagEntry *Entries, unsigned Index) |
Returns the metadata for a module flag entry at a specific index. | |
LLVMMetadataRef | LLVMGetModuleFlag (LLVMModuleRef M, const char *Key, size_t KeyLen) |
Add a module-level flag to the module-level flags metadata if it doesn't already exist. | |
void | LLVMAddModuleFlag (LLVMModuleRef M, LLVMModuleFlagBehavior Behavior, const char *Key, size_t KeyLen, LLVMMetadataRef Val) |
Add a module-level flag to the module-level flags metadata if it doesn't already exist. | |
void | LLVMDumpModule (LLVMModuleRef M) |
Dump a representation of a module to stderr. | |
LLVMBool | LLVMPrintModuleToFile (LLVMModuleRef M, const char *Filename, char **ErrorMessage) |
Print a representation of a module to a file. | |
char * | LLVMPrintModuleToString (LLVMModuleRef M) |
Return a string representation of the module. | |
const char * | LLVMGetModuleInlineAsm (LLVMModuleRef M, size_t *Len) |
Get inline assembly for a module. | |
void | LLVMSetModuleInlineAsm2 (LLVMModuleRef M, const char *Asm, size_t Len) |
Set inline assembly for a module. | |
void | LLVMAppendModuleInlineAsm (LLVMModuleRef M, const char *Asm, size_t Len) |
Append inline assembly to a module. | |
LLVMValueRef | LLVMGetInlineAsm (LLVMTypeRef Ty, const char *AsmString, size_t AsmStringSize, const char *Constraints, size_t ConstraintsSize, LLVMBool HasSideEffects, LLVMBool IsAlignStack, LLVMInlineAsmDialect Dialect, LLVMBool CanThrow) |
Create the specified uniqued inline asm string. | |
const char * | LLVMGetInlineAsmAsmString (LLVMValueRef InlineAsmVal, size_t *Len) |
Get the template string used for an inline assembly snippet. | |
const char * | LLVMGetInlineAsmConstraintString (LLVMValueRef InlineAsmVal, size_t *Len) |
Get the raw constraint string for an inline assembly snippet. | |
LLVMInlineAsmDialect | LLVMGetInlineAsmDialect (LLVMValueRef InlineAsmVal) |
Get the dialect used by the inline asm snippet. | |
LLVMTypeRef | LLVMGetInlineAsmFunctionType (LLVMValueRef InlineAsmVal) |
Get the function type of the inline assembly snippet. | |
LLVMBool | LLVMGetInlineAsmHasSideEffects (LLVMValueRef InlineAsmVal) |
Get if the inline asm snippet has side effects. | |
LLVMBool | LLVMGetInlineAsmNeedsAlignedStack (LLVMValueRef InlineAsmVal) |
Get if the inline asm snippet needs an aligned stack. | |
LLVMBool | LLVMGetInlineAsmCanUnwind (LLVMValueRef InlineAsmVal) |
Get if the inline asm snippet may unwind the stack. | |
LLVMContextRef | LLVMGetModuleContext (LLVMModuleRef M) |
Obtain the context to which this module is associated. | |
LLVMTypeRef | LLVMGetTypeByName (LLVMModuleRef M, const char *Name) |
Deprecated: Use LLVMGetTypeByName2 instead. | |
LLVMNamedMDNodeRef | LLVMGetFirstNamedMetadata (LLVMModuleRef M) |
Obtain an iterator to the first NamedMDNode in a Module. | |
LLVMNamedMDNodeRef | LLVMGetLastNamedMetadata (LLVMModuleRef M) |
Obtain an iterator to the last NamedMDNode in a Module. | |
LLVMNamedMDNodeRef | LLVMGetNextNamedMetadata (LLVMNamedMDNodeRef NamedMDNode) |
Advance a NamedMDNode iterator to the next NamedMDNode. | |
LLVMNamedMDNodeRef | LLVMGetPreviousNamedMetadata (LLVMNamedMDNodeRef NamedMDNode) |
Decrement a NamedMDNode iterator to the previous NamedMDNode. | |
LLVMNamedMDNodeRef | LLVMGetNamedMetadata (LLVMModuleRef M, const char *Name, size_t NameLen) |
Retrieve a NamedMDNode with the given name, returning NULL if no such node exists. | |
LLVMNamedMDNodeRef | LLVMGetOrInsertNamedMetadata (LLVMModuleRef M, const char *Name, size_t NameLen) |
Retrieve a NamedMDNode with the given name, creating a new node if no such node exists. | |
const char * | LLVMGetNamedMetadataName (LLVMNamedMDNodeRef NamedMD, size_t *NameLen) |
Retrieve the name of a NamedMDNode. | |
unsigned | LLVMGetNamedMetadataNumOperands (LLVMModuleRef M, const char *Name) |
Obtain the number of operands for named metadata in a module. | |
void | LLVMGetNamedMetadataOperands (LLVMModuleRef M, const char *Name, LLVMValueRef *Dest) |
Obtain the named metadata operands for a module. | |
void | LLVMAddNamedMetadataOperand (LLVMModuleRef M, const char *Name, LLVMValueRef Val) |
Add an operand to named metadata. | |
const char * | LLVMGetDebugLocDirectory (LLVMValueRef Val, unsigned *Length) |
Return the directory of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function. | |
const char * | LLVMGetDebugLocFilename (LLVMValueRef Val, unsigned *Length) |
Return the filename of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function. | |
unsigned | LLVMGetDebugLocLine (LLVMValueRef Val) |
Return the line number of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function. | |
unsigned | LLVMGetDebugLocColumn (LLVMValueRef Val) |
Return the column number of the debug location for this value, which must be an llvm::Instruction. | |
LLVMValueRef | LLVMAddFunction (LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy) |
Add a function to a module under a specified name. | |
LLVMValueRef | LLVMGetNamedFunction (LLVMModuleRef M, const char *Name) |
Obtain a Function value from a Module by its name. | |
LLVMValueRef | LLVMGetNamedFunctionWithLength (LLVMModuleRef M, const char *Name, size_t Length) |
Obtain a Function value from a Module by its name. | |
LLVMValueRef | LLVMGetFirstFunction (LLVMModuleRef M) |
Obtain an iterator to the first Function in a Module. | |
LLVMValueRef | LLVMGetLastFunction (LLVMModuleRef M) |
Obtain an iterator to the last Function in a Module. | |
LLVMValueRef | LLVMGetNextFunction (LLVMValueRef Fn) |
Advance a Function iterator to the next Function. | |
LLVMValueRef | LLVMGetPreviousFunction (LLVMValueRef Fn) |
Decrement a Function iterator to the previous Function. | |
void | LLVMSetModuleInlineAsm (LLVMModuleRef M, const char *Asm) |
Deprecated: Use LLVMSetModuleInlineAsm2 instead. | |
Modules represent the top-level structure in an LLVM program.
An LLVM module is effectively a translation unit or a collection of translation units merged together.
◆ LLVMAddFunction()
◆ LLVMAddModuleFlag()
◆ LLVMAddNamedMetadataOperand()
◆ LLVMAppendModuleInlineAsm()
Append inline assembly to a module.
See also
Module::appendModuleInlineAsm()
Definition at line 490 of file Core.cpp.
References unwrap().
◆ LLVMCloneModule()
◆ LLVMCopyModuleFlagsMetadata()
◆ LLVMDisposeModule()
Destroy a module instance.
This must be called for every created module or memory will be leaked.
Definition at line 285 of file Core.cpp.
References unwrap().
◆ LLVMDisposeModuleFlagsMetadata()
Destroys module flags metadata entries.
Definition at line 395 of file Core.cpp.
◆ LLVMDumpModule()
◆ LLVMGetDataLayout()
◆ LLVMGetDataLayoutStr()
Obtain the data layout for a module.
See also
Module::getDataLayoutStr()
LLVMGetDataLayout is DEPRECATED, as the name is not only incorrect, but match the name of another method on the module. Prefer the use of LLVMGetDataLayoutStr, which is not ambiguous.
Definition at line 310 of file Core.cpp.
References unwrap().
Referenced by LLVMGetDataLayout().
◆ LLVMGetDebugLocColumn()
◆ LLVMGetDebugLocDirectory()
Return the directory of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
See also
llvm::Instruction::getDebugLoc()
llvm::GlobalVariable::getDebugInfo()
llvm::Function::getSubprogram()
Definition at line 1459 of file Core.cpp.
References assert(), llvm::StringRef::data(), DL, F, I, llvm::Length, llvm::SmallVectorBase< Size_T >::size(), llvm::StringRef::size(), and unwrap().
◆ LLVMGetDebugLocFilename()
Return the filename of the debug location for this value, which must be an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
See also
llvm::Instruction::getDebugLoc()
llvm::GlobalVariable::getDebugInfo()
llvm::Function::getSubprogram()
Definition at line 1483 of file Core.cpp.
References assert(), llvm::StringRef::data(), DL, F, I, llvm::Length, llvm::SmallVectorBase< Size_T >::size(), llvm::StringRef::size(), and unwrap().
◆ LLVMGetDebugLocLine()
◆ LLVMGetFirstFunction()
◆ LLVMGetFirstNamedMetadata()
◆ LLVMGetInlineAsm()
◆ LLVMGetInlineAsmAsmString()
Get the template string used for an inline assembly snippet.
Definition at line 520 of file Core.cpp.
◆ LLVMGetInlineAsmCanUnwind()
Get if the inline asm snippet may unwind the stack.
Definition at line 570 of file Core.cpp.
◆ LLVMGetInlineAsmConstraintString()
Get the raw constraint string for an inline assembly snippet.
Definition at line 529 of file Core.cpp.
◆ LLVMGetInlineAsmDialect()
◆ LLVMGetInlineAsmFunctionType()
Get the function type of the inline assembly snippet.
The same type that was passed into LLVMGetInlineAsm originally
See also
Definition at line 555 of file Core.cpp.
◆ LLVMGetInlineAsmHasSideEffects()
Get if the inline asm snippet has side effects.
Definition at line 560 of file Core.cpp.
◆ LLVMGetInlineAsmNeedsAlignedStack()
Get if the inline asm snippet needs an aligned stack.
Definition at line 565 of file Core.cpp.
◆ LLVMGetLastFunction()
◆ LLVMGetLastNamedMetadata()
◆ LLVMGetModuleContext()
Obtain the context to which this module is associated.
See also
Module::getContext()
Definition at line 576 of file Core.cpp.
References unwrap(), and llvm::wrap().
◆ LLVMGetModuleFlag()
Add a module-level flag to the module-level flags metadata if it doesn't already exist.
See also
Module::getModuleFlag()
Definition at line 422 of file Core.cpp.
References unwrap(), and llvm::wrap().
◆ LLVMGetModuleIdentifier()
Obtain the identifier of a module.
Parameters
M | Module to obtain identifier of |
---|---|
Len | Out parameter which holds the length of the returned string. |
Returns
The identifier of M.
See also
Module::getModuleIdentifier()
Definition at line 289 of file Core.cpp.
References unwrap().
◆ LLVMGetModuleInlineAsm()
Get inline assembly for a module.
See also
Module::getModuleInlineAsm()
Definition at line 494 of file Core.cpp.
References unwrap().
◆ LLVMGetNamedFunction()
◆ LLVMGetNamedFunctionWithLength()
◆ LLVMGetNamedMetadata()
◆ LLVMGetNamedMetadataName()
◆ LLVMGetNamedMetadataNumOperands()
◆ LLVMGetNamedMetadataOperands()
◆ LLVMGetNextFunction()
Advance a Function iterator to the next Function.
Returns NULL if the iterator was already at the end and there are no more functions.
Definition at line 2422 of file Core.cpp.
References I, and llvm::wrap().
◆ LLVMGetNextNamedMetadata()
◆ LLVMGetOrInsertNamedMetadata()
◆ LLVMGetPreviousFunction()
Decrement a Function iterator to the previous Function.
Returns NULL if the iterator was already at the beginning and there are no previous functions.
Definition at line 2430 of file Core.cpp.
References I, and llvm::wrap().
◆ LLVMGetPreviousNamedMetadata()
◆ LLVMGetSourceFileName()
Obtain the module's original source file name.
Parameters
M | Module to obtain the name of |
---|---|
Len | Out parameter which holds the length of the returned string |
Returns
The original source file name of M
See also
Module::getSourceFileName()
Definition at line 299 of file Core.cpp.
References unwrap().
◆ LLVMGetTarget()
Obtain the target triple for a module.
See also
Module::getTargetTriple()
Definition at line 323 of file Core.cpp.
References unwrap().
◆ LLVMGetTypeByName()
◆ LLVMIsNewDbgInfoFormat()
◆ LLVMModuleCreateWithName()
◆ LLVMModuleCreateWithNameInContext()
◆ LLVMModuleFlagEntriesGetFlagBehavior()
◆ LLVMModuleFlagEntriesGetKey()
◆ LLVMModuleFlagEntriesGetMetadata()
◆ LLVMPrintModuleToFile()
◆ LLVMPrintModuleToString()
◆ LLVMSetDataLayout()
Set the data layout for a module.
See also
Module::setDataLayout()
Definition at line 318 of file Core.cpp.
References unwrap().
◆ LLVMSetIsNewDbgInfoFormat()
◆ LLVMSetModuleIdentifier()
Set the identifier of a module to a string Ident with length Len.
Parameters
M | The module to set identifier |
---|---|
Ident | The string to set M's identifier to |
Len | Length of Ident |
See also
Module::setModuleIdentifier()
Definition at line 295 of file Core.cpp.
References unwrap().
◆ LLVMSetModuleInlineAsm()
Deprecated: Use LLVMSetModuleInlineAsm2 instead.
Definition at line 486 of file Core.cpp.
References unwrap().
◆ LLVMSetModuleInlineAsm2()
Set inline assembly for a module.
See also
Module::setModuleInlineAsm()
Definition at line 482 of file Core.cpp.
References unwrap().
◆ LLVMSetSourceFileName()
Set the original source file name of a module to a string Name with length Len.
Parameters
M | The module to set the source file name of |
---|---|
Name | The string to set M's source file name to |
Len | Length of Name |
See also
Module::setSourceFileName()
Definition at line 305 of file Core.cpp.
References Name, and unwrap().
◆ LLVMSetTarget()
Set the target triple for a module.
See also
Module::setTargetTriple()
Definition at line 327 of file Core.cpp.
References unwrap().