mjplusplus  v0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
firm::Optimizer Class Reference

#include <Optimizer.hpp>

Public Member Functions

 Optimizer ()
 
void setOptimizationFlag (int flag)
 
void setMaxIterations (int max)
 
void run ()
 
bool graphWasChanged () const
 

Protected Member Functions

bool foldConstants ()
 
bool optimizeControlFlow ()
 
bool eliminateCommonSubexpressions ()
 
bool optimizeLoadStore ()
 
bool optimizeLocal ()
 
bool optimizeAddressMode ()
 
bool optimizeBitFiddling ()
 
bool optimizeJumpChains ()
 
bool optimizeInlining ()
 

Protected Attributes

ir_graph * irg
 
bool changed
 
unsigned int max_iterations
 
int optimizationFlag
 

Constructor & Destructor Documentation

firm::Optimizer::Optimizer ( )

Member Function Documentation

bool firm::Optimizer::eliminateCommonSubexpressions ( )
protected

Optimize the function graph by eliminating common subexpressions.

Returns
true if some optimization was made, false if no optimization was made and the graph didn't change
bool firm::Optimizer::foldConstants ( )
protected

Optimize the function graph by folding the constants.

Returns
true if some optimization was made, false if no optimization was made and the graph didn't change
bool firm::Optimizer::graphWasChanged ( ) const
bool firm::Optimizer::optimizeAddressMode ( )
protected
bool firm::Optimizer::optimizeBitFiddling ( )
protected
bool firm::Optimizer::optimizeControlFlow ( )
protected
Returns
true if some optimization was made, false if no optimization was made and the graph didn't change
bool firm::Optimizer::optimizeInlining ( )
protected
bool firm::Optimizer::optimizeJumpChains ( )
protected
bool firm::Optimizer::optimizeLoadStore ( )
protected

Optimize the function graph by performing load-store optimization.

Returns
true if some optimization was made, false if no optimization was made and the graph didn't change
bool firm::Optimizer::optimizeLocal ( )
protected
Returns
true if some optimization was made, false if no optimization was made and the graph didn't change
void firm::Optimizer::run ( )
void firm::Optimizer::setMaxIterations ( int  max)
void firm::Optimizer::setOptimizationFlag ( int  flag)

Member Data Documentation

bool firm::Optimizer::changed
protected
ir_graph* firm::Optimizer::irg
protected
unsigned int firm::Optimizer::max_iterations
protected
int firm::Optimizer::optimizationFlag
protected

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