package llvm
Install
dune-project
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.resultrun_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_optionsCreates a new set of options for a PassBuilder. See llvm::LLVMPassBuilderOptions::LLVMPassBuilderOptions.
val passbuilder_options_set_verify_each : llpassbuilder_options -> bool -> unitToggles adding the VerifierPass for the PassBuilder. See llvm::LLVMPassBuilderOptions::VerifyEach.
val passbuilder_options_set_debug_logging :
llpassbuilder_options ->
bool ->
unitToggles debug logging. See llvm::LLVMPassBuilderOptions::DebugLogging.
val passbuilder_options_set_loop_interleaving :
llpassbuilder_options ->
bool ->
unitTuning 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 ->
unitTuning option to enable/disable loop vectorization, set based on opt level. See llvm::PipelineTuningOptions::LoopVectorization.
val passbuilder_options_set_slp_vectorization :
llpassbuilder_options ->
bool ->
unitTuning 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 ->
unitTuning 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 ->
unitTuning option to forget all SCEV loops in LoopUnroll. See llvm::PipelineTuningOptions::ForgetAllSCEVInLoopUnroll.
val passbuilder_options_set_licm_mssa_opt_cap :
llpassbuilder_options ->
int ->
unitTuning 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 ->
unitTuning 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 ->
unitTuning option to enable/disable call graph profile. See llvm::PipelineTuningOptions::CallGraphProfile.
val passbuilder_options_set_merge_functions :
llpassbuilder_options ->
bool ->
unitTuning option to enable/disable function merging. See llvm::PipelineTuningOptions::MergeFunctions.
val passbuilder_options_set_inliner_threshold :
llpassbuilder_options ->
int ->
unitTuning option to override the default inliner threshold. See llvm::PipelineTuningOptions::InlinerThreshold.
val dispose_passbuilder_options : llpassbuilder_options -> unitDisposes of the options.