Module Llvm_analysis


module Llvm_analysis: sig .. end
Intermediate representation analysis.

This interface provides an OCaml API for LLVM IR analyses, the classes in the Analysis library.


val verify_module : Llvm.llmodule -> string option
verify_module m returns None if the module m is valid, and Some reason if it is invalid. reason is a string containing a human-readable validation report. See llvm::verifyModule.
val verify_function : Llvm.llvalue -> bool
verify_function f returns None if the function f is valid, and Some reason if it is invalid. reason is a string containing a human-readable validation report. See llvm::verifyFunction.
val assert_valid_module : Llvm.llmodule -> unit
verify_module m returns if the module m is valid, but prints a validation report to stderr and aborts the program if it is invalid. See llvm::verifyModule.
val assert_valid_function : Llvm.llvalue -> unit
verify_function f returns if the function f is valid, but prints a validation report to stderr and aborts the program if it is invalid. See llvm::verifyFunction.
val view_function_cfg : Llvm.llvalue -> unit
view_function_cfg f opens up a ghostscript window displaying the CFG of the current function with the code for each basic block inside. See llvm::Function::viewCFG.
val view_function_cfg_only : Llvm.llvalue -> unit
view_function_cfg_only f works just like view_function_cfg, but does not include the contents of basic blocks into the nodes. See llvm::Function::viewCFGOnly.