llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
Public Member Functions | Static Public Attributes | List of all members
UndefElimPass Class Referencefinal

#include <passes/undef_elim.h>

Inheritance diagram for UndefElimPass:
Inheritance graph
[legend]
Collaboration diagram for UndefElimPass:
Collaboration graph
[legend]

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.
 
- Public Member Functions inherited from 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

- Protected Member Functions inherited from Pass
const PassConfigGetConfig () const
 Returns a reference to the configuration.
 
const TargetGetTarget () const
 Returns a reference to the target.
 
- Protected Attributes inherited from Pass
PassManagerpassManager_
 Pass manager scheduling this pass.
 

Detailed Description

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.


The documentation for this class was generated from the following files: