Class: LLVM::FunctionPassManager
- Inherits:
-
PassManager
- Object
- PassManager
- LLVM::FunctionPassManager
- Defined in:
- lib/llvm/core/pass_manager.rb
Instance Method Summary collapse
- #do_finalization ⇒ Object
- #do_initialization ⇒ Object
-
#initialize(execution_engine, mod) ⇒ FunctionPassManager
constructor
Creates a new pass manager on the given ExecutionEngine and Module.
-
#run(fn) ⇒ Object
Runs the passes on the given function.
Methods inherited from PassManager
#<<, #adce!, #constprop!, #dispose, #dse!, #gdce!, #gvn!, #indvars!, #instcombine!, #jump_threading!, #licm!, #loop_deletion!, #loop_rotate!, #loop_unroll!, #loop_unswitch!, #mem2reg!, #memcpyopt!, #reassociate!, #reg2mem!, #scalarrepl!, #sccp!, #simplify_libcalls!, #simplifycfg!, #tailcallelim!, #to_ptr
Constructor Details
#initialize(execution_engine, mod) ⇒ FunctionPassManager
Creates a new pass manager on the given ExecutionEngine and Module.
42 43 44 45 46 47 |
# File 'lib/llvm/core/pass_manager.rb', line 42 def initialize(execution_engine, mod) ptr = C.LLVMCreateFunctionPassManagerForModule(mod) C.LLVMAddTargetData( C.LLVMGetExecutionEngineTargetData(execution_engine), ptr) @ptr = ptr end |
Instance Method Details
#do_finalization ⇒ Object
53 54 55 |
# File 'lib/llvm/core/pass_manager.rb', line 53 def do_finalization C.LLVMFinalizeFunctionPassManager(self) != 0 end |
#do_initialization ⇒ Object
49 50 51 |
# File 'lib/llvm/core/pass_manager.rb', line 49 def do_initialization C.LLVMInitializeFunctionPassManager(self) != 0 end |
#run(fn) ⇒ Object
Runs the passes on the given function.
58 59 60 |
# File 'lib/llvm/core/pass_manager.rb', line 58 def run(fn) C.LLVMRunFunctionPassManager(self, fn) end |