module lib.llvm.c.TargetMachine

Code Map

module lib.llvm.c.TargetMachine;


enum LLVMCodeGenOptLevel
{
	None,
	Less,
	Default,
	Aggressive,
}

enum LLVMRelocMode
{
	Default,
	Static,
	PIC,
	DynamicNoPic,
}

enum LLVMCodeModel
{
	Default,
	JITDefault,
	Small,
	Kernel,
	Medium,
	Large,
}

enum LLVMCodeGenFileType
{
	Assembly,
	Object,
}

alias LLVMTargetMachineRef = LLVMTargetMachine*;
alias LLVMTargetRef = LLVMTarget*;

struct LLVMTargetMachine
{
}

struct LLVMTarget
{
}

fn LLVMGetFirstTarget() LLVMTargetRef;
fn LLVMGetNextTarget(T: LLVMTargetRef) LLVMTargetRef;
fn LLVMGetTargetFromName(Name: const(char)*) LLVMTargetRef;
fn LLVMGetTargetFromTriple(Triple: const(char)*, T: LLVMTargetRef*, ErrorMessage: const(char)**) LLVMBool;
fn LLVMGetTargetName(T: LLVMTargetRef) const(char)*;
fn LLVMGetTargetDescription(T: LLVMTargetRef) const(char)*;
fn LLVMTargetHasJIT(T: LLVMTargetRef) LLVMBool;
fn LLVMTargetHasTargetMachine(T: LLVMTargetRef) LLVMBool;
fn LLVMTargetHasAsmBackend(T: LLVMTargetRef) LLVMBool;
fn LLVMCreateTargetMachine(T: LLVMTargetRef, Triple: const(char)*, CPU: const(char)*, Features: const(char)*, Level: LLVMCodeGenOptLevel, Reloc: LLVMRelocMode, CodeModel: LLVMCodeModel) LLVMTargetMachineRef;
fn LLVMDisposeTargetMachine(T: LLVMTargetMachineRef);
fn LLVMGetTargetMachineTarget(T: LLVMTargetMachineRef) LLVMTargetRef;
fn LLVMGetTargetMachineTriple(T: LLVMTargetMachineRef) const(char)*;
fn LLVMGetTargetMachineCPU(T: LLVMTargetMachineRef) const(char)*;
fn LLVMGetTargetMachineFeatureString(T: LLVMTargetMachineRef) const(char)*;
fn LLVMGetTargetMachineData(T: LLVMTargetMachineRef) LLVMTargetDataRef;
fn LLVMSetTargetMachineAsmVerbosity(T: LLVMTargetMachineRef, VerboseAsm: LLVMBool);
fn LLVMTargetMachineEmitToFile(T: LLVMTargetMachineRef, M: LLVMModuleRef, Filename: const(char)*, codegen: LLVMCodeGenFileType, ErrorMessage: const(char)**) LLVMBool;
fn LLVMTargetMachineEmitToMemoryBuffer(T: LLVMTargetMachineRef, M: LLVMModuleRef, codegen: LLVMCodeGenFileType, ErrorMessage: const(char)**, OutMemBuf: LLVMMemoryBufferRef*) LLVMBool;
fn LLVMGetDefaultTargetTriple() const(char)*;