llir-opt  0.0.1
Low-Level Post-Link Optimiser for OCaml and C
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Attributes | List of all members
LocalizeSelectPass Class Referencefinal

#include <passes/localize_select.h>

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

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.
 
- 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 = DEBUG_TYPE
 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 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.


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