coins.ssa
Class BackTranslateFromSsa

java.lang.Object
  extended bycoins.ssa.BackTranslateFromSsa
All Implemented Interfaces:
LocalTransformer, Transformer

class BackTranslateFromSsa
extends java.lang.Object
implements LocalTransformer

The back translation from SSA form into normal form. This class has three methods for the back translation. Sreedhar's method I, II and III. This class also has the SSA based coalescing module. Reference:
Vugranam C. Sreedhar, Roy Dz-Ching Ju, David M. Gillies, Vatsa Santhanam, "Translating Out of Static Single Assignment Form," SAS'99, LNCS 1694, pp.194-210, 1999.


Field Summary
static java.lang.String BACK_TMP
          The name of the symbol which the optimzer uses to make the temporary variables
static int METHOD_I
          Represent Sreedhar's Method I
static int METHOD_II
          Represent Sreedhar's Method II
static int METHOD_III
          Represent Sreedhar's Method III
static int THR
          The threshold of debug print
static int THR2
          The threshold of debug print
static int THR3
          The threshold of debug print
 
Constructor Summary
(package private) BackTranslateFromSsa(SsaEnvironment e, SsaSymTab stab, int howToTranslate, boolean withCoalesce, boolean aggr)
          Constructor.
 
Method Summary
 boolean doIt(Data data, ImList args)
          Transform the DATA component.
 boolean doIt(Function function, ImList args)
          Do Back translation from the SSA form.
 java.lang.String name()
          Return the name of the transforming engine.
 java.lang.String subject()
          Return brief description of the tranformation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

THR

public static final int THR
The threshold of debug print

See Also:
Constant Field Values

THR2

public static final int THR2
The threshold of debug print

See Also:
Constant Field Values

THR3

public static final int THR3
The threshold of debug print

See Also:
Constant Field Values

BACK_TMP

public static final java.lang.String BACK_TMP
The name of the symbol which the optimzer uses to make the temporary variables

See Also:
Constant Field Values

METHOD_I

public static final int METHOD_I
Represent Sreedhar's Method I

See Also:
Constant Field Values

METHOD_II

public static final int METHOD_II
Represent Sreedhar's Method II

See Also:
Constant Field Values

METHOD_III

public static final int METHOD_III
Represent Sreedhar's Method III

See Also:
Constant Field Values
Constructor Detail

BackTranslateFromSsa

BackTranslateFromSsa(SsaEnvironment e,
                     SsaSymTab stab,
                     int howToTranslate,
                     boolean withCoalesce,
                     boolean aggr)
Constructor. The back translation from SSA form.

Parameters:
e - The environment of the SSA module
stab - The current symbol table on SSA form
howToTranslate - Specify the translate method
withCoalesce - Whether coalesce or not
Method Detail

doIt

public boolean doIt(Data data,
                    ImList args)
Description copied from interface: LocalTransformer
Transform the DATA component.

Specified by:
doIt in interface LocalTransformer
Parameters:
data - DATA to be transformed.
args - list of optional arguments.
Returns:
true if transformation suceeded.

name

public java.lang.String name()
Description copied from interface: Transformer
Return the name of the transforming engine. Used for trace tag name.

Specified by:
name in interface Transformer
Returns:
the name of the transforming engine.

subject

public java.lang.String subject()
Description copied from interface: Transformer
Return brief description of the tranformation.

Specified by:
subject in interface Transformer
Returns:
brief description of the tranformation.

doIt

public boolean doIt(Function function,
                    ImList args)
Do Back translation from the SSA form.

Specified by:
doIt in interface LocalTransformer
Parameters:
function - The current function
args - The list of options
Returns:
true if transformation suceeded.