package llvm

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t
val create : triple:string -> ?cpu:string -> ?features:string -> ?level:CodeGenOptLevel.t -> ?reloc_mode:RelocMode.t -> ?code_model:CodeModel.t -> Target.t -> t

Creates a new target machine. See llvm::Target::createTargetMachine.

val target : t -> Target.t

Returns the Target used in a TargetMachine

val triple : t -> string

Returns the triple used while creating this target machine. See llvm::TargetMachine::getTriple.

val cpu : t -> string

Returns the CPU used while creating this target machine. See llvm::TargetMachine::getCPU.

val data_layout : t -> DataLayout.t

Returns the data layout of this target machine.

val features : t -> string

Returns the feature string used while creating this target machine. See llvm::TargetMachine::getFeatureString.

val add_analysis_passes : [< Llvm.PassManager.any ] Llvm.PassManager.t -> t -> unit

Adds the target-specific analysis passes to the pass manager. See llvm::TargetMachine::addAnalysisPasses.

val set_verbose_asm : bool -> t -> unit

Sets the assembly verbosity of this target machine. See llvm::TargetMachine::setAsmVerbosity.

val emit_to_file : Llvm.llmodule -> CodeGenFileType.t -> string -> t -> unit

Emits assembly or object data for the given module to the given file or raise Error.

val emit_to_memory_buffer : Llvm.llmodule -> CodeGenFileType.t -> t -> Llvm.llmemorybuffer

Emits assembly or object data for the given module to a fresh memory buffer or raise Error.