llvm.c.targetMachine

Undocumented in source.

Public Imports

llvm.c.types
public import llvm.c.types;
Undocumented in source.

Members

Aliases

LLVMTargetMachineRef
alias LLVMTargetMachineRef = __LLVMOpaqueTargetMachine*
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
LLVMTargetRef
alias LLVMTargetRef = __LLVMTarget*
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Enums

LLVMCodeGenFileType
enum LLVMCodeGenFileType
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
LLVMCodeGenOptLevel
enum LLVMCodeGenOptLevel
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
LLVMCodeModel
enum LLVMCodeModel
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
LLVMRelocMode
enum LLVMRelocMode
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Functions

LLVMAddAnalysisPasses
void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM)

Adds the target-specific analysis passes to the pass manager.

LLVMCreateTargetDataLayout
LLVMTargetDataRef LLVMCreateTargetDataLayout(LLVMTargetMachineRef T)

Create a DataLayout based on the targetMachine.

LLVMCreateTargetMachine
LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T, const(char)* Triple, const(char)* CPU, const(char)* Features, LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel)

Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine

LLVMDisposeTargetMachine
void LLVMDisposeTargetMachine(LLVMTargetMachineRef T)

Dispose the LLVMTargetMachineRef instance generated by LLVMCreateTargetMachine.

LLVMGetDefaultTargetTriple
char* LLVMGetDefaultTargetTriple()

Get a triple for the host machine as a string. The result needs to be disposed with LLVMDisposeMessage.

LLVMGetFirstTarget
LLVMTargetRef LLVMGetFirstTarget()

Returns the first llvm::Target in the registered targets list.

LLVMGetNextTarget
LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T)

Returns the next llvm::Target given a previous one (or null if there's none)

LLVMGetTargetDescription
const(char)* LLVMGetTargetDescription(LLVMTargetRef T)

Returns the description of a target. See llvm::Target::getDescription

LLVMGetTargetFromName
LLVMTargetRef LLVMGetTargetFromName(const(char)* Name)

Finds the target corresponding to the given name and stores it in \p T. Returns 0 on success.

LLVMGetTargetFromTriple
LLVMBool LLVMGetTargetFromTriple(const(char)* Triple, LLVMTargetRef* T, char** ErrorMessage)

Finds the target corresponding to the given triple and stores it in \p T. Returns 0 on success. Optionally returns any error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.

LLVMGetTargetMachineCPU
char* LLVMGetTargetMachineCPU(LLVMTargetMachineRef T)

Returns the cpu used creating this target machine. See llvm::TargetMachine::getCPU. The result needs to be disposed with LLVMDisposeMessage.

LLVMGetTargetMachineFeatureString
char* LLVMGetTargetMachineFeatureString(LLVMTargetMachineRef T)

Returns the feature string used creating this target machine. See llvm::TargetMachine::getFeatureString. The result needs to be disposed with LLVMDisposeMessage.

LLVMGetTargetMachineTarget
LLVMTargetRef LLVMGetTargetMachineTarget(LLVMTargetMachineRef T)

Returns the Target used in a TargetMachine

LLVMGetTargetMachineTriple
char* LLVMGetTargetMachineTriple(LLVMTargetMachineRef T)

Returns the triple used creating this target machine. See llvm::TargetMachine::getTriple. The result needs to be disposed with LLVMDisposeMessage.

LLVMGetTargetName
const(char)* LLVMGetTargetName(LLVMTargetRef T)

Returns the name of a target. See llvm::Target::getName

LLVMSetTargetMachineAsmVerbosity
void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T, LLVMBool VerboseAsm)

Set the target machine's ASM verbosity.

LLVMTargetHasAsmBackend
LLVMBool LLVMTargetHasAsmBackend(LLVMTargetRef T)

Returns if the target as an ASM backend (required for emitting output)

LLVMTargetHasJIT
LLVMBool LLVMTargetHasJIT(LLVMTargetRef T)

Returns if the target has a JIT

LLVMTargetHasTargetMachine
LLVMBool LLVMTargetHasTargetMachine(LLVMTargetRef T)

Returns if the target has a TargetMachine associated

LLVMTargetMachineEmitToFile
LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M, const(char)* Filename, LLVMCodeGenFileType codegen, char** ErrorMessage)

Emits an asm or object file for the given module to the filename. This wraps several c++ only classes (among them a file stream). Returns any error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.

LLVMTargetMachineEmitToMemoryBuffer
LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M, LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef* OutMemBuf)

Compile the LLVM IR stored in \p M and store the result in \p OutMemBuf.

Structs

__LLVMOpaqueTargetMachine
struct __LLVMOpaqueTargetMachine
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.
__LLVMTarget
struct __LLVMTarget
Undocumented in source but is binding to C. You might be able to learn more by searching the web for its name.

Meta