package llvm
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=82401fea7b79d0078043f7598b835284d6650a75b93e64b6f761ea7b63097501
md5=0333b37c90e183d5298470d5b70a87e4
doc/llvm_passbuilder/Llvm_passbuilder/index.html
Module Llvm_passbuilder
val run_passes :
Llvm.llmodule ->
string ->
Llvm_target.TargetMachine.t ->
llpassbuilder_options ->
(unit, string) Stdlib.result
run_passes m passes tm opts
runs a set of passes over a module. The format of the string passes
is the same as opt's -passes argument for the new pass manager. Individual passes may be specified, separated by commas. Full pipelines may also be invoked. See LLVMRunPasses
.
val create_passbuilder_options : unit -> llpassbuilder_options
Creates a new set of options for a PassBuilder. See llvm::LLVMPassBuilderOptions::LLVMPassBuilderOptions
.
val passbuilder_options_set_verify_each : llpassbuilder_options -> bool -> unit
Toggles adding the VerifierPass for the PassBuilder. See llvm::LLVMPassBuilderOptions::VerifyEach
.
val passbuilder_options_set_debug_logging :
llpassbuilder_options ->
bool ->
unit
Toggles debug logging. See llvm::LLVMPassBuilderOptions::DebugLogging
.
val passbuilder_options_set_loop_interleaving :
llpassbuilder_options ->
bool ->
unit
Tuning option to set loop interleaving on/off, set based on opt level. See llvm::PipelineTuningOptions::LoopInterleaving
.
val passbuilder_options_set_loop_vectorization :
llpassbuilder_options ->
bool ->
unit
Tuning option to enable/disable loop vectorization, set based on opt level. See llvm::PipelineTuningOptions::LoopVectorization
.
val passbuilder_options_set_slp_vectorization :
llpassbuilder_options ->
bool ->
unit
Tuning option to enable/disable slp loop vectorization, set based on opt level. See llvm::PipelineTuningOptions::SLPVectorization
.
val passbuilder_options_set_loop_unrolling :
llpassbuilder_options ->
bool ->
unit
Tuning option to enable/disable loop unrolling. Its default value is true. See llvm::PipelineTuningOptions::LoopUnrolling
.
val passbuilder_options_set_forget_all_scev_in_loop_unroll :
llpassbuilder_options ->
bool ->
unit
Tuning option to forget all SCEV loops in LoopUnroll. See llvm::PipelineTuningOptions::ForgetAllSCEVInLoopUnroll
.
val passbuilder_options_set_licm_mssa_opt_cap :
llpassbuilder_options ->
int ->
unit
Tuning option to cap the number of calls to retrive clobbering accesses in MemorySSA, in LICM. See llvm::PipelineTuningOptions::LicmMssaOptCap
.
val passbuilder_options_set_licm_mssa_no_acc_for_promotion_cap :
llpassbuilder_options ->
int ->
unit
Tuning option to disable promotion to scalars in LICM with MemorySSA, if the number of accesses is too large. See llvm::PipelineTuningOptions::LicmMssaNoAccForPromotionCap
.
val passbuilder_options_set_call_graph_profile :
llpassbuilder_options ->
bool ->
unit
Tuning option to enable/disable call graph profile. See llvm::PipelineTuningOptions::CallGraphProfile
.
val passbuilder_options_set_merge_functions :
llpassbuilder_options ->
bool ->
unit
Tuning option to enable/disable function merging. See llvm::PipelineTuningOptions::MergeFunctions
.
val passbuilder_options_set_inliner_threshold :
llpassbuilder_options ->
int ->
unit
Tuning option to override the default inliner threshold. See llvm::PipelineTuningOptions::InlinerThreshold
.
val dispose_passbuilder_options : llpassbuilder_options -> unit
Disposes of the options.