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

#include <ConstantFolder.hpp>

Inheritance diagram for firm::ConstantFolder:
firm::GraphHandler

Public Member Functions

virtual void handle (Node)
 
virtual void cleanUp (Node node)
 
 ConstantFolder (ir_graph *irg)
 
- Public Member Functions inherited from firm::GraphHandler
 GraphHandler (ir_graph *irg)
 
void replaceNode (Node oldNode, Node newNode, bool keepTarval=false)
 
bool graphChanged () const
 
void processChildren (Node node, std::function< void(Node leftChild, Node rightChild)> fun)
 
bool tarvalIsZero (Tarval tarval)
 
shptr< std::set< ir_node * > > getNewNodes () const
 

Protected Member Functions

void optimizePhi (Node node)
 
bool updateTarvalForArithmeticNode (Node node)
 
void handlePhi (ir_node *node)
 
void handleMinus (ir_node *node)
 
void handleMul (ir_node *node)
 
void handleDivAndMod (ir_node *node)
 
void replaceDivMod (Node node)
 
bool replaceGeneric (Node node)
 
- Protected Member Functions inherited from firm::GraphHandler
void markOutNodesAsNew (ir_node *node)
 

Additional Inherited Members

- Protected Attributes inherited from firm::GraphHandler
ir_graph * irg
 
shptr< std::set< ir_node * > > newNodes
 
bool changed
 

Constructor & Destructor Documentation

firm::ConstantFolder::ConstantFolder ( ir_graph *  irg)

Member Function Documentation

void firm::ConstantFolder::cleanUp ( Node  node)
virtual

Implements firm::GraphHandler.

void firm::ConstantFolder::handle ( Node  node)
virtual

Implements firm::GraphHandler.

void firm::ConstantFolder::handleDivAndMod ( ir_node *  node)
protected
void firm::ConstantFolder::handleMinus ( ir_node *  node)
protected
void firm::ConstantFolder::handleMul ( ir_node *  node)
protected
void firm::ConstantFolder::handlePhi ( ir_node *  node)
protected
void firm::ConstantFolder::optimizePhi ( Node  node)
protected
void firm::ConstantFolder::replaceDivMod ( Node  node)
protected
bool firm::ConstantFolder::replaceGeneric ( Node  node)
protected
bool firm::ConstantFolder::updateTarvalForArithmeticNode ( Node  node)
protected

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