25 #ifndef _JIT_COMPILER2_CONSTANTPROPAGATIONPASS
26 #define _JIT_COMPILER2_CONSTANTPROPAGATIONPASS
Pass superclass All compiler passes should inheritate this class.
virtual bool run(JITData &JD)
Run the Pass.
ConstantPropagationPass()
WorkListTy workList
This work list is used by the algorithm to store the instructions which have to be reconsidered...
InstBoolMapTy inWorkList
will be used to look up whether an instruction is currently contained in the worklist to avoid insert...
InstIntMapTy constantOperands
used to track for each instruction the number of its operands which are already known to be constant ...
Stores the interdependencies of a pass.
virtual PassUsage & get_PassUsage(PassUsage &PA) const
Set the requirements for the pass.
std::list< Instruction * > WorkListTy
unordered_map< Instruction *, std::size_t > InstIntMapTy
unordered_map< Instruction *, bool > InstBoolMapTy
void propagate(Instruction *inst)
void replace_by_constant(Instruction *isnt, CONSTInst *c, Method *M)