25 #ifndef _JIT_COMPILER2_NULLCHECKELIMINATIONPASS
26 #define _JIT_COMPILER2_NULLCHECKELIMINATIONPASS
31 #include <boost/dynamic_bitset.hpp>
68 bool is_trivially_non_null(
Value *objectref);
70 void map_referenes_to_bitpositions();
72 void prepare_bitvectors();
74 void perform_null_check_elimination();
77 void print_final_results();
Pass superclass All compiler passes should inheritate this class.
NullCheckEliminationPass.
Custom new/delete handler mixin.
alloc::unordered_map< Instruction *, int >::type bitpositions
Maps each object reference to a unique bitvector position.
alloc::unordered_map< BeginInst *, boost::dynamic_bitset<> >::type non_null_references_at_entry
Holds for each BeginInst the local analysis state in the form of a bitvector.
NullCheckEliminationPass()
Stores the interdependencies of a pass.
Represents the result of the addition of a certain IR-variable with a certain constant.
alloc::unordered_map< BeginInst *, boost::dynamic_bitset<> >::type non_null_references_at_exit
std::unordered_map< Key, T, Hash, KeyEqual, Allocator< std::pair< const Key, T > > > type