In file optrules.h:

class XxxMergeRule : public XxxSimpleCondRule

This rule defines an action that merges two functions into a single function

Inheritance:


Public Classes

class ArgRule
Class that specifies how each resulting attribute should be formed
virtual XxxErrCode CreateExpr (const XxxValueExprList* OwnerArgList, const XxxValueExprList* ThisArgList, XxxValueExpression*& NewExpr)
/ this method creates a new expression for the specific position
class ArithArgRule : public SimpleArgRule
ArgRule to copy one of the args
class CopyArgRule : public SimpleArgRule
ArgRule to copy one of the args
class SimpleArgRule : public ArgRule
/ This argrule makes use of no more than one arg from each list

Public

typedef enum THISEXP
The "Dominator": which of the two expressions "dominates" the result

Inherited from XxxSimpleCondRule:


Inherited from XxxRule:


Documentation

This rule defines an action that merges two functions into a single function. For example, X.f().g() --> X.fg(). This is implemented in a pretty complicated fashion, to allow for general kinds of merging. The strategy followed is : 1) the Owner (i.e. "f") structure is always removed 2) either the Owner or This is identified as the "dominator" (i.e., the function which is to be retained). If a totally new merged function is being created, that can be indicated too. 3) in order to construct the arguments of the merged function, individual "ArgRule"s are specified. some simple kinds of ArgRules have been provided. More can be written.
typedef enum THISEXP
The "Dominator": which of the two expressions "dominates" the result

class ArgRule
Class that specifies how each resulting attribute should be formed

virtual XxxErrCode CreateExpr(const XxxValueExprList* OwnerArgList, const XxxValueExprList* ThisArgList, XxxValueExpression*& NewExpr)
/ this method creates a new expression for the specific position

class SimpleArgRule: public ArgRule
/ This argrule makes use of no more than one arg from each list

class CopyArgRule: public SimpleArgRule
ArgRule to copy one of the args

class ArithArgRule: public SimpleArgRule
ArgRule to copy one of the args


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de