CACAO
|
DeadCodeEliminationPass. More...
Public Member Functions | |
DeadCodeEliminationPass () | |
virtual bool | run (JITData &JD) |
Run the Pass. More... | |
virtual PassUsage & | get_PassUsage (PassUsage &PA) 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 |
Private Types | |
typedef unordered_map < Instruction *, bool > | InstBoolMapTy |
typedef unordered_map < Instruction *, std::size_t > | InstIntMapTy |
This optimization pass removes dead (a.k.a unused) code from the program, based on an algorithm in [8]. It uses a 'weak' definition of 'dead' which does not take control-flow into account.
Definition at line 45 of file DeadCodeEliminationPass.hpp.
|
private |
Definition at line 47 of file DeadCodeEliminationPass.hpp.
|
private |
Definition at line 48 of file DeadCodeEliminationPass.hpp.
|
inline |
Definition at line 51 of file DeadCodeEliminationPass.hpp.
Set the requirements for the pass.
Reimplemented from cacao::jit::compiler2::Pass.
Definition at line 142 of file DeadCodeEliminationPass.cpp.
|
virtual |
Run the Pass.
This method implements the compiler pass.
Implements cacao::jit::compiler2::Pass.
Definition at line 57 of file DeadCodeEliminationPass.cpp.
|
static |
Definition at line 50 of file DeadCodeEliminationPass.hpp.