org.eclipse.ocl.examples.codegen.cse
Class CommonSubexpressionEliminator

java.lang.Object
  extended by org.eclipse.ocl.examples.codegen.cse.CommonSubexpressionEliminator

public class CommonSubexpressionEliminator
extends java.lang.Object

A CommonSubexpressionEliminator supervises the rewrites of structurally equivalent CG nodes with shared CG nodes.


Field Summary
protected  CodeGenerator codeGenerator
           
static TracingOption CSE_BUILD
           
static TracingOption CSE_PLACES
           
static TracingOption CSE_PRUNE
           
static TracingOption CSE_PULL_UP
           
static TracingOption CSE_PUSH_UP
           
static TracingOption CSE_REWRITE
           
 
Constructor Summary
CommonSubexpressionEliminator(CodeGenerator codeGenerator)
           
 
Method Summary
 void optimize(CGElement cgRoot)
          Optimize the cgRoot tree by eliminating common subexpressions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CSE_BUILD

@NonNull
public static final TracingOption CSE_BUILD

CSE_PLACES

@NonNull
public static final TracingOption CSE_PLACES

CSE_PRUNE

@NonNull
public static final TracingOption CSE_PRUNE

CSE_PULL_UP

@NonNull
public static final TracingOption CSE_PULL_UP

CSE_PUSH_UP

@NonNull
public static final TracingOption CSE_PUSH_UP

CSE_REWRITE

@NonNull
public static final TracingOption CSE_REWRITE

codeGenerator

@NonNull
protected final CodeGenerator codeGenerator
Constructor Detail

CommonSubexpressionEliminator

public CommonSubexpressionEliminator(@NonNull
                                     CodeGenerator codeGenerator)
Method Detail

optimize

public void optimize(@NonNull
                     CGElement cgRoot)
Optimize the cgRoot tree by eliminating common subexpressions.