llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/inliner/inline_helper.h>
Public Member Functions | |
InlineHelper (CallSite *call, Func *callee, TrampolineGraph &graph) | |
void | Inline () |
Inlines the function. | |
![]() | |
virtual | ~CloneVisitor () |
Destroys the visitor. | |
virtual Func * | Map (Func *func) |
Maps a block to a new one. | |
virtual Extern * | Map (Extern *ext) |
Maps a block to a new one. | |
virtual Atom * | Map (Atom *atom) |
Maps an atom to a new one. | |
virtual Constant * | Map (Constant *constant) |
Maps a constant to a new one. | |
virtual Global * | Map (Global *global) |
Maps a global to a potentially new one. | |
virtual Expr * | Map (Expr *expr) |
Maps an expression to a potentially new one. | |
virtual Type | Map (Type ty, Inst *inst, unsigned idx) |
Maps a type to a new one. | |
virtual Inst * | Clone (Inst *inst) |
Clones an instruction. | |
void | Fixup () |
Fixes PHI nodes. | |
Additional Inherited Members | |
![]() | |
Ref< Value > | Map (Ref< Value > value) |
Maps a value to a potentially new one. | |
template<typename It , typename T = typename It::value_type> | |
std::vector< T > | Map (llvm::iterator_range< It > range) |
Map a vector of values. | |
![]() | |
llvm::SmallVector< std::pair< PhiInst *, PhiInst * >, 10 > | fixups_ |
PHI instruction delayed fixups. | |
Inline clone helper
InlineHelper::InlineHelper | ( | CallSite * | call, |
Func * | callee, | ||
TrampolineGraph & | graph | ||
) |
Initialises the inliner.
call | Call site to inline into |
callee | Callee to inline into the call site. |
graph | OCaml trampoline graph. |