CACAO
|
GlobalValueNumberingPass. More...
Public Member Functions | |
GlobalValueNumberingPass () | |
virtual bool | run (JITData &JD) |
Run the Pass. More... | |
virtual PassUsage & | get_PassUsage (PassUsage &PU) const |
Set the requirements for the pass. More... | |
![]() | |
Pass () | |
void | set_PassManager (PassManager *PM) |
template<class _PassClass > | |
_PassClass * | get_Pass () const |
Get the result of a previous compiler pass. More... | |
template<class _PassClass > | |
_PassClass * | get_Pass_if_available () const |
Get the result of a previous compiler pass. More... | |
virtual void | initialize () |
Initialize the Pass. More... | |
virtual void | finalize () |
Finalize the Pass. More... | |
virtual bool | verify () const |
Verify the Result. More... | |
virtual | ~Pass () |
Destructor. More... | |
Static Public Attributes | |
static char | ID = 0 |
Static Private Member Functions | |
static int | arity (BlockTy *block) |
static int | compute_max_arity (Method::const_iterator begin, Method::const_iterator end) |
This pass finds and removes redundant computations based on the high-level intermediate representation of the compiler2, i.e., it removes redundant nodes. It therefore uses the global value numbering algorithm in [8].
Definition at line 46 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 64 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 67 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 48 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 63 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 62 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 53 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 54 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 60 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 52 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 61 of file GlobalValueNumberingPass.hpp.
|
private |
these types are needed for the creation of the inital blocks
Definition at line 59 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 55 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 56 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 49 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 66 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 50 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 51 of file GlobalValueNumberingPass.hpp.
|
inline |
Definition at line 122 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 164 of file GlobalValueNumberingPass.cpp.
Definition at line 254 of file GlobalValueNumberingPass.cpp.
|
staticprivate |
Definition at line 169 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 398 of file GlobalValueNumberingPass.cpp.
|
staticprivate |
Definition at line 175 of file GlobalValueNumberingPass.cpp.
|
private |
creates and returns a new block and does some setup work needed for the further execution of the partitioning algorithm
Definition at line 157 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 306 of file GlobalValueNumberingPass.cpp.
Definition at line 316 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 278 of file GlobalValueNumberingPass.cpp.
|
inlineprivate |
Definition at line 110 of file GlobalValueNumberingPass.hpp.
Set the requirements for the pass.
Reimplemented from cacao::jit::compiler2::Pass.
Definition at line 481 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 273 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 207 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 235 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 220 of file GlobalValueNumberingPass.cpp.
|
private |
|
private |
Definition at line 187 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 249 of file GlobalValueNumberingPass.cpp.
Definition at line 354 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 364 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 345 of file GlobalValueNumberingPass.cpp.
|
virtual |
Run the Pass.
This method implements the compiler pass.
Implements cacao::jit::compiler2::Pass.
Definition at line 409 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 265 of file GlobalValueNumberingPass.cpp.
Definition at line 244 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 282 of file GlobalValueNumberingPass.cpp.
|
private |
Definition at line 72 of file GlobalValueNumberingPass.hpp.
|
static |
Definition at line 121 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 71 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 73 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 69 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 75 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 70 of file GlobalValueNumberingPass.hpp.
|
private |
Definition at line 74 of file GlobalValueNumberingPass.hpp.