llir-opt
0.0.1
Low-Level Post-Link Optimiser for OCaml and C
|
#include <passes/localize_select.h>
Public Member Functions | |
LocalizeSelectPass (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 = DEBUG_TYPE |
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 eliminate unnecessary moves.
When generating code through LLVM, SelectionDAG cannot pattern match across basic block boundaries. This pass creates additional copies of comparison instructions used by selects in distinct blocks.