Project Alice
|
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.
LLVMValueRef LLVMAddFunction | ( | LLVMModuleRef | M, |
const char * | Name, | ||
LLVMTypeRef | FunctionTy | ||
) |
Add a function to a module under a specified name.
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 LLVMAddNamedMetadataOperand | ( | LLVMModuleRef | M, |
const char * | Name, | ||
LLVMValueRef | Val | ||
) |
Add an operand to named metadata.
void LLVMAppendModuleInlineAsm | ( | LLVMModuleRef | M, |
const char * | Asm, | ||
size_t | Len | ||
) |
Append inline assembly to a module.
LLVMModuleRef LLVMCloneModule | ( | LLVMModuleRef | M | ) |
Return an exact copy of the specified module.
LLVMModuleFlagEntry * LLVMCopyModuleFlagsMetadata | ( | LLVMModuleRef | M, |
size_t * | Len | ||
) |
Returns the module flags as an array of flag-key-value triples. The caller is responsible for freeing this array by calling LLVMDisposeModuleFlagsMetadata
.
void LLVMDisposeModule | ( | LLVMModuleRef | M | ) |
Destroy a module instance.
This must be called for every created module or memory will be leaked.
void LLVMDisposeModuleFlagsMetadata | ( | LLVMModuleFlagEntry * | Entries | ) |
Destroys module flags metadata entries.
void LLVMDumpModule | ( | LLVMModuleRef | M | ) |
Dump a representation of a module to stderr.
const char * LLVMGetDataLayout | ( | LLVMModuleRef | M | ) |
const char * LLVMGetDataLayoutStr | ( | LLVMModuleRef | M | ) |
Obtain the data layout for a module.
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.
unsigned LLVMGetDebugLocColumn | ( | LLVMValueRef | Val | ) |
Return the column number of the debug location for this value, which must be an llvm::Instruction.
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.
LLVMValueRef LLVMGetFirstFunction | ( | LLVMModuleRef | M | ) |
Obtain an iterator to the first Function in a Module.
LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata | ( | LLVMModuleRef | M | ) |
Obtain an iterator to the first NamedMDNode in 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
LLVMBool LLVMGetInlineAsmCanUnwind | ( | LLVMValueRef | InlineAsmVal | ) |
Get if the inline asm snippet may unwind the stack
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. The same type that was passed into LLVMGetInlineAsm originally
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
LLVMValueRef LLVMGetLastFunction | ( | LLVMModuleRef | M | ) |
Obtain an iterator to the last Function in a Module.
LLVMNamedMDNodeRef LLVMGetLastNamedMetadata | ( | LLVMModuleRef | M | ) |
Obtain an iterator to the last NamedMDNode in a Module.
LLVMContextRef LLVMGetModuleContext | ( | LLVMModuleRef | M | ) |
Obtain the context to which this module is associated.
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.
const char * LLVMGetModuleIdentifier | ( | LLVMModuleRef | M, |
size_t * | Len | ||
) |
Obtain the identifier of a module.
M | Module to obtain identifier of |
Len | Out parameter which holds the length of the returned string. |
const char * LLVMGetModuleInlineAsm | ( | LLVMModuleRef | M, |
size_t * | Len | ||
) |
Get inline assembly for a module.
LLVMValueRef LLVMGetNamedFunction | ( | LLVMModuleRef | M, |
const char * | Name | ||
) |
Obtain a Function value from a Module by its name.
The returned value corresponds to a llvm::Function value.
LLVMNamedMDNodeRef LLVMGetNamedMetadata | ( | LLVMModuleRef | M, |
const char * | Name, | ||
size_t | NameLen | ||
) |
Retrieve a NamedMDNode with the given name, returning NULL 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.
The passed LLVMValueRef pointer should refer to an array of LLVMValueRef at least LLVMGetNamedMetadataNumOperands long. This array will be populated with the LLVMValueRef instances. Each instance corresponds to a llvm::MDNode.
LLVMValueRef LLVMGetNextFunction | ( | LLVMValueRef | Fn | ) |
Advance a Function iterator to the next Function.
Returns NULL if the iterator was already at the end and there are no more functions.
LLVMNamedMDNodeRef LLVMGetNextNamedMetadata | ( | LLVMNamedMDNodeRef | NamedMDNode | ) |
Advance a NamedMDNode iterator to the next NamedMDNode.
Returns NULL if the iterator was already at the end and there are no more named metadata nodes.
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.
LLVMValueRef LLVMGetPreviousFunction | ( | LLVMValueRef | Fn | ) |
Decrement a Function iterator to the previous Function.
Returns NULL if the iterator was already at the beginning and there are no previous functions.
LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata | ( | LLVMNamedMDNodeRef | NamedMDNode | ) |
Decrement a NamedMDNode iterator to the previous NamedMDNode.
Returns NULL if the iterator was already at the beginning and there are no previous named metadata nodes.
const char * LLVMGetSourceFileName | ( | LLVMModuleRef | M, |
size_t * | Len | ||
) |
Obtain the module's original source file name.
M | Module to obtain the name of |
Len | Out parameter which holds the length of the returned string |
const char * LLVMGetTarget | ( | LLVMModuleRef | M | ) |
Obtain the target triple for a module.
LLVMTypeRef LLVMGetTypeByName | ( | LLVMModuleRef | M, |
const char * | Name | ||
) |
Deprecated: Use LLVMGetTypeByName2 instead.
LLVMModuleRef LLVMModuleCreateWithName | ( | const char * | ModuleID | ) |
Create a new, empty module in the global context.
This is equivalent to calling LLVMModuleCreateWithNameInContext with LLVMGetGlobalContext() as the context parameter.
Every invocation should be paired with LLVMDisposeModule() or memory will be leaked.
LLVMModuleRef LLVMModuleCreateWithNameInContext | ( | const char * | ModuleID, |
LLVMContextRef | C | ||
) |
Create a new, empty module in a specific context.
Every invocation should be paired with LLVMDisposeModule() or memory will be leaked.
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.
LLVMBool LLVMPrintModuleToFile | ( | LLVMModuleRef | M, |
const char * | Filename, | ||
char ** | ErrorMessage | ||
) |
Print a representation of a module to a file. The ErrorMessage needs to be disposed with LLVMDisposeMessage. Returns 0 on success, 1 otherwise.
char * LLVMPrintModuleToString | ( | LLVMModuleRef | M | ) |
Return a string representation of the module. Use LLVMDisposeMessage to free the string.
void LLVMSetDataLayout | ( | LLVMModuleRef | M, |
const char * | DataLayoutStr | ||
) |
Set the data layout for 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.
M | The module to set identifier |
Ident | The string to set M's identifier to |
Len | Length of Ident |
void LLVMSetModuleInlineAsm | ( | LLVMModuleRef | M, |
const char * | Asm | ||
) |
Deprecated: Use LLVMSetModuleInlineAsm2 instead.
void LLVMSetModuleInlineAsm2 | ( | LLVMModuleRef | M, |
const char * | Asm, | ||
size_t | Len | ||
) |
Set inline assembly for a module.
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.
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 |
void LLVMSetTarget | ( | LLVMModuleRef | M, |
const char * | Triple | ||
) |
Set the target triple for a module.