llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CloneVisitor Class Reference

#include <core/clone.h>

Inheritance diagram for CloneVisitor:
Inheritance graph
[legend]

Public Member Functions

virtual ~CloneVisitor ()
 Destroys the visitor.
 
virtual BlockMap (Block *block)
 Maps a block to a new one.
 
virtual FuncMap (Func *func)
 Maps a block to a new one.
 
virtual ExternMap (Extern *ext)
 Maps a block to a new one.
 
virtual AtomMap (Atom *atom)
 Maps an atom to a new one.
 
virtual ConstantMap (Constant *constant)
 Maps a constant to a new one.
 
virtual GlobalMap (Global *global)
 Maps a global to a potentially new one.
 
virtual ExprMap (Expr *expr)
 Maps an expression to a potentially new one.
 
virtual AnnotSet Annot (const Inst *inst)
 Clones an annotation.
 
virtual Ref< InstMap (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 InstClone (Inst *inst)
 Clones an instruction.
 
void Fixup ()
 Fixes PHI nodes.
 

Protected Member Functions

Ref< ValueMap (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.
 

Detailed Description

Helper class which clones instructions.


The documentation for this class was generated from the following files: