llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <core/clone.h>
Public Member Functions | |
virtual | ~CloneVisitor () |
Destroys the visitor. | |
virtual Block * | Map (Block *block) |
Maps a block to a new one. | |
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 AnnotSet | Annot (const Inst *inst) |
Clones an annotation. | |
virtual Ref< Inst > | Map (Ref< Inst > inst) |
Maps an instruction reference to a 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. | |
Protected Member Functions | |
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. | |
Protected Attributes | |
llvm::SmallVector< std::pair< PhiInst *, PhiInst * >, 10 > | fixups_ |
PHI instruction delayed fixups. | |
Helper class which clones instructions.