Module Llvm_scalar_opts


module Llvm_scalar_opts: sig .. end
Scalar Transforms.

This interface provides an OCaml API for LLVM scalar transforms, the classes in the LLVMScalarOpts library.


val add_constant_propagation : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createConstantPropagationPass function.
val add_sccp : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createSCCPPass function.
val add_dead_store_elimination : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See llvm::createDeadStoreEliminationPass function.
val add_aggressive_dce : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See The llvm::createAggressiveDCEPass function.
val add_scalar_repl_aggregation : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createScalarReplAggregatesPass function.
val add_scalar_repl_aggregation_ssa : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createScalarReplAggregatesPassSSA function.
val add_scalar_repl_aggregation_with_threshold : int -> [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createScalarReplAggregatesWithThreshold function.
val add_ind_var_simplification : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createIndVarSimplifyPass function.
val add_instruction_combination : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createInstructionCombiningPass function.
val add_licm : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLICMPass function.
val add_loop_unswitch : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLoopUnswitchPass function.
val add_loop_unroll : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLoopUnrollPass function.
val add_loop_rotation : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLoopRotatePass function.
val add_memory_to_register_promotion : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createPromoteMemoryToRegisterPass function.
val add_memory_to_register_demotion : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createDemoteMemoryToRegisterPass function.
val add_reassociation : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createReassociatePass function.
val add_jump_threading : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createJumpThreadingPass function.
val add_cfg_simplification : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createCFGSimplificationPass function.
val add_tail_call_elimination : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createTailCallEliminationPass function.
val add_gvn : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createGVNPass function.
val add_memcpy_opt : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createMemCpyOptPass function.
val add_loop_deletion : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLoopDeletionPass function.
val add_loop_idiom : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
val add_lib_call_simplification : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createSimplifyLibCallsPass function.
val add_verifier : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createVerifierPass function.
val add_correlated_value_propagation : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createCorrelatedValuePropagationPass function.
val add_early_cse : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createEarlyCSE function.
val add_lower_expect_intrinsic : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createLowerExpectIntrinsicPass function.
val add_type_based_alias_analysis : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createTypeBasedAliasAnalysisPass function.
val add_basic_alias_analysis : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createBasicAliasAnalysisPass function.
val add_partially_inline_lib_calls : [< Llvm.PassManager.any ] Llvm.PassManager.t -> unit
See the llvm::createPartiallyInlineLibCallsPass function.