LLVM 22.0.0git
Functions

Modules represent the top-level structure in an LLVM program. More...

Collaboration diagram for Modules:

Functions

LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithName (const char *ModuleID)
 Create a new, empty module in the global context.
 
LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithNameInContext (const char *ModuleID, LLVMContextRef C)
 Create a new, empty module in a specific context.
 
LLVM_C_ABI LLVMModuleRef LLVMCloneModule (LLVMModuleRef M)
 Return an exact copy of the specified module.
 
LLVM_C_ABI void LLVMDisposeModule (LLVMModuleRef M)
 Destroy a module instance.
 
LLVM_C_ABI LLVMBool LLVMIsNewDbgInfoFormat (LLVMModuleRef M)
 Soon to be deprecated.
 
LLVM_C_ABI void LLVMSetIsNewDbgInfoFormat (LLVMModuleRef M, LLVMBool UseNewFormat)
 Soon to be deprecated.
 
LLVM_C_ABI const charLLVMGetModuleIdentifier (LLVMModuleRef M, size_t *Len)
 Obtain the identifier of a module.
 
LLVM_C_ABI void LLVMSetModuleIdentifier (LLVMModuleRef M, const char *Ident, size_t Len)
 Set the identifier of a module to a string Ident with length Len.
 
LLVM_C_ABI const charLLVMGetSourceFileName (LLVMModuleRef M, size_t *Len)
 Obtain the module's original source file name.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI const charLLVMGetDataLayoutStr (LLVMModuleRef M)
 Obtain the data layout for a module.
 
LLVM_C_ABI const charLLVMGetDataLayout (LLVMModuleRef M)
 
LLVM_C_ABI void LLVMSetDataLayout (LLVMModuleRef M, const char *DataLayoutStr)
 Set the data layout for a module.
 
LLVM_C_ABI const charLLVMGetTarget (LLVMModuleRef M)
 Obtain the target triple for a module.
 
LLVM_C_ABI void LLVMSetTarget (LLVMModuleRef M, const char *Triple)
 Set the target triple for a module.
 
LLVM_C_ABI LLVMModuleFlagEntryLLVMCopyModuleFlagsMetadata (LLVMModuleRef M, size_t *Len)
 Returns the module flags as an array of flag-key-value triples.
 
LLVM_C_ABI void LLVMDisposeModuleFlagsMetadata (LLVMModuleFlagEntry *Entries)
 Destroys module flags metadata entries.
 
LLVM_C_ABI LLVMModuleFlagBehavior LLVMModuleFlagEntriesGetFlagBehavior (LLVMModuleFlagEntry *Entries, unsigned Index)
 Returns the flag behavior for a module flag entry at a specific index.
 
LLVM_C_ABI const charLLVMModuleFlagEntriesGetKey (LLVMModuleFlagEntry *Entries, unsigned Index, size_t *Len)
 Returns the key for a module flag entry at a specific index.
 
LLVM_C_ABI LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata (LLVMModuleFlagEntry *Entries, unsigned Index)
 Returns the metadata for a module flag entry at a specific index.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI void LLVMDumpModule (LLVMModuleRef M)
 Dump a representation of a module to stderr.
 
LLVM_C_ABI LLVMBool LLVMPrintModuleToFile (LLVMModuleRef M, const char *Filename, char **ErrorMessage)
 Print a representation of a module to a file.
 
LLVM_C_ABI charLLVMPrintModuleToString (LLVMModuleRef M)
 Return a string representation of the module.
 
LLVM_C_ABI const charLLVMGetModuleInlineAsm (LLVMModuleRef M, size_t *Len)
 Get inline assembly for a module.
 
LLVM_C_ABI void LLVMSetModuleInlineAsm2 (LLVMModuleRef M, const char *Asm, size_t Len)
 Set inline assembly for a module.
 
LLVM_C_ABI void LLVMAppendModuleInlineAsm (LLVMModuleRef M, const char *Asm, size_t Len)
 Append inline assembly to a module.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI const charLLVMGetInlineAsmAsmString (LLVMValueRef InlineAsmVal, size_t *Len)
 Get the template string used for an inline assembly snippet.
 
LLVM_C_ABI const charLLVMGetInlineAsmConstraintString (LLVMValueRef InlineAsmVal, size_t *Len)
 Get the raw constraint string for an inline assembly snippet.
 
LLVM_C_ABI LLVMInlineAsmDialect LLVMGetInlineAsmDialect (LLVMValueRef InlineAsmVal)
 Get the dialect used by the inline asm snippet.
 
LLVM_C_ABI LLVMTypeRef LLVMGetInlineAsmFunctionType (LLVMValueRef InlineAsmVal)
 Get the function type of the inline assembly snippet.
 
LLVM_C_ABI LLVMBool LLVMGetInlineAsmHasSideEffects (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet has side effects.
 
LLVM_C_ABI LLVMBool LLVMGetInlineAsmNeedsAlignedStack (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet needs an aligned stack.
 
LLVM_C_ABI LLVMBool LLVMGetInlineAsmCanUnwind (LLVMValueRef InlineAsmVal)
 Get if the inline asm snippet may unwind the stack.
 
LLVM_C_ABI LLVMContextRef LLVMGetModuleContext (LLVMModuleRef M)
 Obtain the context to which this module is associated.
 
LLVM_C_ABI LLVMTypeRef LLVMGetTypeByName (LLVMModuleRef M, const char *Name)
 Deprecated: Use LLVMGetTypeByName2 instead.
 
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata (LLVMModuleRef M)
 Obtain an iterator to the first NamedMDNode in a Module.
 
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetLastNamedMetadata (LLVMModuleRef M)
 Obtain an iterator to the last NamedMDNode in a Module.
 
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNextNamedMetadata (LLVMNamedMDNodeRef NamedMDNode)
 Advance a NamedMDNode iterator to the next NamedMDNode.
 
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata (LLVMNamedMDNodeRef NamedMDNode)
 Decrement a NamedMDNode iterator to the previous NamedMDNode.
 
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNamedMetadata (LLVMModuleRef M, const char *Name, size_t NameLen)
 Retrieve a NamedMDNode with the given name, returning NULL if no such node exists.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI const charLLVMGetNamedMetadataName (LLVMNamedMDNodeRef NamedMD, size_t *NameLen)
 Retrieve the name of a NamedMDNode.
 
LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands (LLVMModuleRef M, const char *Name)
 Obtain the number of operands for named metadata in a module.
 
LLVM_C_ABI void LLVMGetNamedMetadataOperands (LLVMModuleRef M, const char *Name, LLVMValueRef *Dest)
 Obtain the named metadata operands for a module.
 
LLVM_C_ABI void LLVMAddNamedMetadataOperand (LLVMModuleRef M, const char *Name, LLVMValueRef Val)
 Add an operand to named metadata.
 
LLVM_C_ABI const charLLVMGetDebugLocDirectory (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.
 
LLVM_C_ABI const charLLVMGetDebugLocFilename (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.
 
LLVM_C_ABI 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.
 
LLVM_C_ABI unsigned LLVMGetDebugLocColumn (LLVMValueRef Val)
 Return the column number of the debug location for this value, which must be an llvm::Instruction.
 
LLVM_C_ABI LLVMValueRef LLVMAddFunction (LLVMModuleRef M, const char *Name, LLVMTypeRef FunctionTy)
 Add a function to a module under a specified name.
 
LLVM_C_ABI LLVMValueRef LLVMGetNamedFunction (LLVMModuleRef M, const char *Name)
 Obtain a Function value from a Module by its name.
 
LLVM_C_ABI LLVMValueRef LLVMGetNamedFunctionWithLength (LLVMModuleRef M, const char *Name, size_t Length)
 Obtain a Function value from a Module by its name.
 
LLVM_C_ABI LLVMValueRef LLVMGetFirstFunction (LLVMModuleRef M)
 Obtain an iterator to the first Function in a Module.
 
LLVM_C_ABI LLVMValueRef LLVMGetLastFunction (LLVMModuleRef M)
 Obtain an iterator to the last Function in a Module.
 
LLVM_C_ABI LLVMValueRef LLVMGetNextFunction (LLVMValueRef Fn)
 Advance a Function iterator to the next Function.
 
LLVM_C_ABI LLVMValueRef LLVMGetPreviousFunction (LLVMValueRef Fn)
 Decrement a Function iterator to the previous Function.
 
LLVM_C_ABI void LLVMSetModuleInlineAsm (LLVMModuleRef M, const char *Asm)
 Deprecated: Use LLVMSetModuleInlineAsm2 instead.
 

Detailed Description

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.

Function Documentation

◆ LLVMAddFunction()

LLVM_C_ABI LLVMValueRef LLVMAddFunction ( LLVMModuleRef  M,
const char Name,
LLVMTypeRef  FunctionTy 
)

Add a function to a module under a specified name.

See also
llvm::Function::Create()

Definition at line 2400 of file Core.cpp.

References llvm::Function::Create(), llvm::GlobalValue::ExternalLinkage, Name, unwrap(), and llvm::wrap().

◆ LLVMAddModuleFlag()

LLVM_C_ABI 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.

See also
Module::addModuleFlag()

Definition at line 427 of file Core.cpp.

References map_to_llvmModFlagBehavior(), and unwrap().

◆ LLVMAddNamedMetadataOperand()

LLVM_C_ABI void LLVMAddNamedMetadataOperand ( LLVMModuleRef  M,
const char Name,
LLVMValueRef  Val 
)

Add an operand to named metadata.

See also
llvm::Module::getNamedMetadata()
llvm::MDNode::addOperand()

Definition at line 1448 of file Core.cpp.

References extractMDNode(), N, Name, and unwrap().

◆ LLVMAppendModuleInlineAsm()

LLVM_C_ABI void LLVMAppendModuleInlineAsm ( LLVMModuleRef  M,
const char Asm,
size_t  Len 
)

Append inline assembly to a module.

See also
Module::appendModuleInlineAsm()

Definition at line 490 of file Core.cpp.

References unwrap().

◆ LLVMCloneModule()

LLVM_C_ABI LLVMModuleRef LLVMCloneModule ( LLVMModuleRef  M)

Return an exact copy of the specified module.

Definition at line 220 of file CloneModule.cpp.

References llvm::CloneModule(), llvm::release, llvm::unwrap(), and llvm::wrap().

◆ LLVMCopyModuleFlagsMetadata()

LLVM_C_ABI 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.

See also
Module::getModuleFlagsMetadata()

Definition at line 378 of file Core.cpp.

References map_from_llvmModFlagBehavior(), llvm::safe_malloc(), llvm::SmallVectorBase< Size_T >::size(), unwrap(), and llvm::wrap().

◆ LLVMDisposeModule()

LLVM_C_ABI void LLVMDisposeModule ( LLVMModuleRef  M)

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()

LLVM_C_ABI void LLVMDisposeModuleFlagsMetadata ( LLVMModuleFlagEntry Entries)

Destroys module flags metadata entries.

Definition at line 395 of file Core.cpp.

◆ LLVMDumpModule()

LLVM_C_ABI void LLVMDumpModule ( LLVMModuleRef  M)

Dump a representation of a module to stderr.

See also
Module::dump()

Definition at line 444 of file Core.cpp.

References llvm::errs(), llvm::BasicBlock::print(), and unwrap().

◆ LLVMGetDataLayout()

LLVM_C_ABI const char * LLVMGetDataLayout ( LLVMModuleRef  M)

Definition at line 314 of file Core.cpp.

References LLVMGetDataLayoutStr().

◆ LLVMGetDataLayoutStr()

LLVM_C_ABI const char * LLVMGetDataLayoutStr ( LLVMModuleRef  M)

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()

LLVM_C_ABI unsigned LLVMGetDebugLocColumn ( LLVMValueRef  Val)

Return the column number of the debug location for this value, which must be an llvm::Instruction.

See also
llvm::Instruction::getDebugLoc()

Definition at line 1528 of file Core.cpp.

References llvm::CallingConv::C, DL, I, and unwrap().

◆ LLVMGetDebugLocDirectory()

LLVM_C_ABI const char * LLVMGetDebugLocDirectory ( LLVMValueRef  Val,
unsigned Length 
)

◆ LLVMGetDebugLocFilename()

LLVM_C_ABI const char * LLVMGetDebugLocFilename ( LLVMValueRef  Val,
unsigned Length 
)

◆ LLVMGetDebugLocLine()

LLVM_C_ABI 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.

See also
llvm::Instruction::getDebugLoc()
llvm::GlobalVariable::getDebugInfo()
llvm::Function::getSubprogram()

Definition at line 1506 of file Core.cpp.

References assert(), DL, F, I, llvm::SmallVectorBase< Size_T >::size(), and unwrap().

◆ LLVMGetFirstFunction()

LLVM_C_ABI LLVMValueRef LLVMGetFirstFunction ( LLVMModuleRef  M)

Obtain an iterator to the first Function in a Module.

See also
llvm::Module::begin()

Definition at line 2415 of file Core.cpp.

References I, Mod, unwrap(), and llvm::wrap().

◆ LLVMGetFirstNamedMetadata()

LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata ( LLVMModuleRef  M)

Obtain an iterator to the first NamedMDNode in a Module.

See also
llvm::Module::named_metadata_begin()

Definition at line 1363 of file Core.cpp.

References I, Mod, unwrap(), and llvm::wrap().

◆ LLVMGetInlineAsm()

LLVM_C_ABI 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.

See also
InlineAsm::get()

Definition at line 500 of file Core.cpp.

References llvm::InlineAsm::AD_ATT, llvm::InlineAsm::AD_Intel, llvm::InlineAsm::get(), LLVMInlineAsmDialectATT, LLVMInlineAsmDialectIntel, and llvm::wrap().

◆ LLVMGetInlineAsmAsmString()

LLVM_C_ABI const char * LLVMGetInlineAsmAsmString ( LLVMValueRef  InlineAsmVal,
size_t *  Len 
)

Get the template string used for an inline assembly snippet.

Definition at line 520 of file Core.cpp.

References llvm::StringRef::data(), and llvm::StringRef::size().

◆ LLVMGetInlineAsmCanUnwind()

LLVM_C_ABI LLVMBool LLVMGetInlineAsmCanUnwind ( LLVMValueRef  InlineAsmVal)

Get if the inline asm snippet may unwind the stack.

Definition at line 569 of file Core.cpp.

◆ LLVMGetInlineAsmConstraintString()

LLVM_C_ABI const char * LLVMGetInlineAsmConstraintString ( LLVMValueRef  InlineAsmVal,
size_t *  Len 
)

Get the raw constraint string for an inline assembly snippet.

Definition at line 529 of file Core.cpp.

References llvm::StringRef::data(), and llvm::StringRef::size().

◆ LLVMGetInlineAsmDialect()

LLVM_C_ABI LLVMInlineAsmDialect LLVMGetInlineAsmDialect ( LLVMValueRef  InlineAsmVal)

Get the dialect used by the inline asm snippet.

Definition at line 538 of file Core.cpp.

References llvm::InlineAsm::AD_ATT, llvm::InlineAsm::AD_Intel, llvm_unreachable, LLVMInlineAsmDialectATT, and LLVMInlineAsmDialectIntel.

◆ LLVMGetInlineAsmFunctionType()

LLVM_C_ABI LLVMTypeRef LLVMGetInlineAsmFunctionType ( LLVMValueRef  InlineAsmVal)

Get the function type of the inline assembly snippet.

The same type that was passed into LLVMGetInlineAsm originally

See also
LLVMGetInlineAsm

Definition at line 554 of file Core.cpp.

◆ LLVMGetInlineAsmHasSideEffects()

LLVM_C_ABI LLVMBool LLVMGetInlineAsmHasSideEffects ( LLVMValueRef  InlineAsmVal)

Get if the inline asm snippet has side effects.

Definition at line 559 of file Core.cpp.

◆ LLVMGetInlineAsmNeedsAlignedStack()

LLVM_C_ABI LLVMBool LLVMGetInlineAsmNeedsAlignedStack ( LLVMValueRef  InlineAsmVal)

Get if the inline asm snippet needs an aligned stack.

Definition at line 564 of file Core.cpp.

◆ LLVMGetLastFunction()

LLVM_C_ABI LLVMValueRef LLVMGetLastFunction ( LLVMModuleRef  M)

Obtain an iterator to the last Function in a Module.

See also
llvm::Module::end()

Definition at line 2423 of file Core.cpp.

References I, Mod, unwrap(), and llvm::wrap().

◆ LLVMGetLastNamedMetadata()

LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetLastNamedMetadata ( LLVMModuleRef  M)

Obtain an iterator to the last NamedMDNode in a Module.

See also
llvm::Module::named_metadata_end()

Definition at line 1371 of file Core.cpp.

References I, Mod, unwrap(), and llvm::wrap().

◆ LLVMGetModuleContext()

LLVM_C_ABI LLVMContextRef LLVMGetModuleContext ( LLVMModuleRef  M)

Obtain the context to which this module is associated.

See also
Module::getContext()

Definition at line 575 of file Core.cpp.

References unwrap(), and llvm::wrap().

◆ LLVMGetModuleFlag()

LLVM_C_ABI 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.

See also
Module::getModuleFlag()

Definition at line 422 of file Core.cpp.

References unwrap(), and llvm::wrap().

◆ LLVMGetModuleIdentifier()

LLVM_C_ABI const char * LLVMGetModuleIdentifier ( LLVMModuleRef  M,
size_t *  Len 
)

Obtain the identifier of a module.

Parameters
MModule to obtain identifier of
LenOut 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()

LLVM_C_ABI const char * LLVMGetModuleInlineAsm ( LLVMModuleRef  M,
size_t *  Len 
)

Get inline assembly for a module.

See also
Module::getModuleInlineAsm()

Definition at line 494 of file Core.cpp.

References unwrap().

◆ LLVMGetNamedFunction()

LLVM_C_ABI 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.

See also
llvm::Module::getFunction()

Definition at line 2406 of file Core.cpp.

References getFunction(), Name, unwrap(), and llvm::wrap().

◆ LLVMGetNamedFunctionWithLength()

LLVM_C_ABI LLVMValueRef LLVMGetNamedFunctionWithLength ( LLVMModuleRef  M,
const char Name,
size_t  Length 
)

Obtain a Function value from a Module by its name.

The returned value corresponds to a llvm::Function value.

See also
llvm::Module::getFunction()

Definition at line 2410 of file Core.cpp.

References getFunction(), llvm::Length, Name, unwrap(), and llvm::wrap().

◆ LLVMGetNamedMetadata()

LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNamedMetadata ( LLVMModuleRef  M,
const char Name,
size_t  NameLen 
)

Retrieve a NamedMDNode with the given name, returning NULL if no such node exists.

See also
llvm::Module::getNamedMetadata()

Definition at line 1395 of file Core.cpp.

References Name, unwrap(), and llvm::wrap().

◆ LLVMGetNamedMetadataName()

LLVM_C_ABI const char * LLVMGetNamedMetadataName ( LLVMNamedMDNodeRef  NamedMD,
size_t *  NameLen 
)

Retrieve the name of a NamedMDNode.

See also
llvm::NamedMDNode::getName()

Definition at line 1405 of file Core.cpp.

References llvm::StringRef::data(), llvm::NamedMDNode::getName(), llvm::StringRef::size(), and unwrap().

◆ LLVMGetNamedMetadataNumOperands()

LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands ( LLVMModuleRef  M,
const char Name 
)

Obtain the number of operands for named metadata in a module.

See also
llvm::Module::getNamedMetadata()

Definition at line 1431 of file Core.cpp.

References N, Name, and unwrap().

◆ LLVMGetNamedMetadataOperands()

LLVM_C_ABI 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.

See also
llvm::Module::getNamedMetadata()
llvm::MDNode::getOperand()

Definition at line 1438 of file Core.cpp.

References Context, llvm::MetadataAsValue::get(), llvm::BasicBlock::getContext(), N, Name, unwrap(), and llvm::wrap().

◆ LLVMGetNextFunction()

LLVM_C_ABI 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.

Definition at line 2431 of file Core.cpp.

References I, and llvm::wrap().

◆ LLVMGetNextNamedMetadata()

LLVM_C_ABI 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.

Definition at line 1379 of file Core.cpp.

References llvm::NamedMDNode::getParent(), I, llvm::Module::named_metadata_end(), unwrap(), and llvm::wrap().

◆ LLVMGetOrInsertNamedMetadata()

LLVM_C_ABI 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.

See also
llvm::Module::getOrInsertNamedMetadata()

Definition at line 1400 of file Core.cpp.

References Name, unwrap(), and llvm::wrap().

◆ LLVMGetPreviousFunction()

LLVM_C_ABI 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.

Definition at line 2439 of file Core.cpp.

References I, and llvm::wrap().

◆ LLVMGetPreviousNamedMetadata()

LLVM_C_ABI 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.

Definition at line 1387 of file Core.cpp.

References llvm::NamedMDNode::getParent(), I, llvm::Module::named_metadata_begin(), unwrap(), and llvm::wrap().

◆ LLVMGetSourceFileName()

LLVM_C_ABI const char * LLVMGetSourceFileName ( LLVMModuleRef  M,
size_t *  Len 
)

Obtain the module's original source file name.

Parameters
MModule to obtain the name of
LenOut 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()

LLVM_C_ABI const char * LLVMGetTarget ( LLVMModuleRef  M)

Obtain the target triple for a module.

See also
Module::getTargetTriple()

Definition at line 323 of file Core.cpp.

References unwrap().

◆ LLVMGetTypeByName()

LLVM_C_ABI LLVMTypeRef LLVMGetTypeByName ( LLVMModuleRef  M,
const char Name 
)

Deprecated: Use LLVMGetTypeByName2 instead.

Definition at line 848 of file Core.cpp.

References llvm::StructType::getTypeByName(), Name, unwrap(), and llvm::wrap().

◆ LLVMIsNewDbgInfoFormat()

LLVM_C_ABI LLVMBool LLVMIsNewDbgInfoFormat ( LLVMModuleRef  M)

Soon to be deprecated.

See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

Returns true if the module is in the new debug info mode which uses non-instruction debug records instead of debug intrinsics for variable location tracking.

Definition at line 434 of file Core.cpp.

◆ LLVMModuleCreateWithName()

LLVM_C_ABI 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.

Definition at line 276 of file Core.cpp.

References getGlobalContext(), and llvm::wrap().

◆ LLVMModuleCreateWithNameInContext()

LLVM_C_ABI 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.

Definition at line 280 of file Core.cpp.

References llvm::CallingConv::C, unwrap(), and llvm::wrap().

◆ LLVMModuleFlagEntriesGetFlagBehavior()

LLVM_C_ABI LLVMModuleFlagBehavior LLVMModuleFlagEntriesGetFlagBehavior ( LLVMModuleFlagEntry Entries,
unsigned  Index 
)

Returns the flag behavior for a module flag entry at a specific index.

See also
Module::ModuleFlagEntry::Behavior

Definition at line 400 of file Core.cpp.

References LLVMOpaqueModuleFlagEntry::Behavior.

◆ LLVMModuleFlagEntriesGetKey()

LLVM_C_ABI const char * LLVMModuleFlagEntriesGetKey ( LLVMModuleFlagEntry Entries,
unsigned  Index,
size_t *  Len 
)

Returns the key for a module flag entry at a specific index.

See also
Module::ModuleFlagEntry::Key

Definition at line 407 of file Core.cpp.

References LLVMOpaqueModuleFlagEntry::Key, and LLVMOpaqueModuleFlagEntry::KeyLen.

◆ LLVMModuleFlagEntriesGetMetadata()

LLVM_C_ABI LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata ( LLVMModuleFlagEntry Entries,
unsigned  Index 
)

Returns the metadata for a module flag entry at a specific index.

See also
Module::ModuleFlagEntry::Val

Definition at line 415 of file Core.cpp.

References LLVMOpaqueModuleFlagEntry::Metadata.

◆ LLVMPrintModuleToFile()

LLVM_C_ABI 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.

See also
Module::print()

Definition at line 449 of file Core.cpp.

References llvm::raw_fd_ostream::close(), llvm::raw_fd_ostream::error(), llvm::raw_fd_ostream::has_error(), llvm::sys::fs::OF_TextWithCRLF, llvm::BasicBlock::print(), and unwrap().

◆ LLVMPrintModuleToString()

LLVM_C_ABI char * LLVMPrintModuleToString ( LLVMModuleRef  M)

Return a string representation of the module.

Use LLVMDisposeMessage to free the string.

See also
Module::print()

Definition at line 471 of file Core.cpp.

References llvm::raw_ostream::flush(), llvm::BasicBlock::print(), and unwrap().

◆ LLVMSetDataLayout()

LLVM_C_ABI void LLVMSetDataLayout ( LLVMModuleRef  M,
const char DataLayoutStr 
)

Set the data layout for a module.

See also
Module::setDataLayout()

Definition at line 318 of file Core.cpp.

References unwrap().

◆ LLVMSetIsNewDbgInfoFormat()

LLVM_C_ABI void LLVMSetIsNewDbgInfoFormat ( LLVMModuleRef  M,
LLVMBool  UseNewFormat 
)

Soon to be deprecated.

See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes

Convert module into desired debug info format.

Definition at line 436 of file Core.cpp.

References llvm_unreachable.

◆ LLVMSetModuleIdentifier()

LLVM_C_ABI void LLVMSetModuleIdentifier ( LLVMModuleRef  M,
const char Ident,
size_t  Len 
)

Set the identifier of a module to a string Ident with length Len.

Parameters
MThe module to set identifier
IdentThe string to set M's identifier to
LenLength of Ident
See also
Module::setModuleIdentifier()

Definition at line 295 of file Core.cpp.

References unwrap().

◆ LLVMSetModuleInlineAsm()

LLVM_C_ABI void LLVMSetModuleInlineAsm ( LLVMModuleRef  M,
const char Asm 
)

Deprecated: Use LLVMSetModuleInlineAsm2 instead.

Definition at line 486 of file Core.cpp.

References unwrap().

◆ LLVMSetModuleInlineAsm2()

LLVM_C_ABI void LLVMSetModuleInlineAsm2 ( LLVMModuleRef  M,
const char Asm,
size_t  Len 
)

Set inline assembly for a module.

See also
Module::setModuleInlineAsm()

Definition at line 482 of file Core.cpp.

References unwrap().

◆ LLVMSetSourceFileName()

LLVM_C_ABI 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.

Parameters
MThe module to set the source file name of
NameThe string to set M's source file name to
LenLength of Name
See also
Module::setSourceFileName()

Definition at line 305 of file Core.cpp.

References Name, and unwrap().

◆ LLVMSetTarget()

LLVM_C_ABI void LLVMSetTarget ( LLVMModuleRef  M,
const char Triple 
)

Set the target triple for a module.

See also
Module::setTargetTriple()

Definition at line 327 of file Core.cpp.

References unwrap().