llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/undef_elim.h>
Public Member Functions | |
UndefElimPass (PassManager *passManager) | |
Initialises the pass. | |
bool | Run (Prog &prog) override |
Runs the pass. | |
const char * | GetPassName () const override |
Returns the name of the pass. | |
![]() | |
Pass (PassManager *passManager) | |
virtual | ~Pass () |
template<typename T > | |
T * | getAnalysis () |
Returns an available analysis. | |
Static Public Attributes | |
static const char * | kPassID = "undef-elim" |
Pass identifier. | |
Additional Inherited Members | |
![]() | |
const PassConfig & | GetConfig () const |
Returns a reference to the configuration. | |
const Target * | GetTarget () const |
Returns a reference to the target. | |
![]() | |
PassManager * | passManager_ |
Pass manager scheduling this pass. | |
Pass to simplify the program exploiting undefined behaviour.
This pass simplifies control flow instructions, assuming the undefined value is false or zero, turning conditional jumps into unconditional ones, selecting the first successor as the target.