public class CommonAnalysis extends AbstractAnalysis
Modifier and Type | Field and Description |
---|---|
protected java.util.List<SimpleAnalysis> |
simpleAnalyses |
Constructor and Description |
---|
CommonAnalysis(SimpleAnalysis firstAnalysis,
SimpleAnalysis secondAnalysis) |
Modifier and Type | Method and Description |
---|---|
CommonAnalysis |
addAnalysis(AbstractAnalysis anAnalysis)
Return the analysis that shares this analysis and anAnalysis
|
CommonAnalysis |
addCommonAnalysis(CommonAnalysis commonAnalysis)
Return the analysis that shares this analysis and commonAnalysis
|
CommonAnalysis |
addedSimpleAnalysis(SimpleAnalysis simpleAnalysis) |
CommonAnalysis |
addSimpleAnalysis(SimpleAnalysis simpleAnalysis)
Return the analysis that shares this analysis and simpleAnalysis
|
int |
getMaxDepth()
Return the depth of the deepest shared analysis.
|
int |
getMinDepth()
Return the depth of the shallowest shared analysis.
|
SimpleAnalysis |
getPrimaryAnalysis() |
CGValuedElement |
getPrimaryElement()
Return the CG element to be used for this analysis.
|
int |
getStructuralHashCode()
Return the hash code derived from the tree structure of this analysis.
|
boolean |
isStructurallyEqualTo(AbstractAnalysis thatAnalysis)
Return true if the tree structure of this analysis is identical to thatAnalysis.
|
boolean |
isStructurallyEqualTo(SimpleAnalysis thatAnalysis)
Return true if the tree structure of this analysis is identical to thatAnalysis.
|
void |
removedSimpleAnalysis(SimpleAnalysis simpleAnalysis) |
void |
rewrite(CodeGenAnalyzer analyzer,
CGValuedElement controlElement) |
protected CGLetExp |
rewriteAsLet(CGValuedElement cgIn,
CGVariable cgVariable)
Insert a CGLetExp above cgIn for cgCSE.
|
protected void |
rewriteAsVariableExp(CGValuedElement cgElement,
CGVariable cgVariable) |
void |
rewriteGlobal(CodeGenAnalyzer analyzer) |
java.lang.String |
toString() |
compareTo
@NonNull protected final java.util.List<SimpleAnalysis> simpleAnalyses
public CommonAnalysis(@NonNull SimpleAnalysis firstAnalysis, @NonNull SimpleAnalysis secondAnalysis)
@NonNull public CommonAnalysis addAnalysis(@NonNull AbstractAnalysis anAnalysis)
AbstractAnalysis
addAnalysis
in class AbstractAnalysis
@NonNull public CommonAnalysis addCommonAnalysis(@NonNull CommonAnalysis commonAnalysis)
AbstractAnalysis
addCommonAnalysis
in class AbstractAnalysis
@NonNull public CommonAnalysis addSimpleAnalysis(@NonNull SimpleAnalysis simpleAnalysis)
AbstractAnalysis
addSimpleAnalysis
in class AbstractAnalysis
@NonNull public CommonAnalysis addedSimpleAnalysis(@NonNull SimpleAnalysis simpleAnalysis)
public int getMaxDepth()
AbstractAnalysis
getMaxDepth
in class AbstractAnalysis
public int getMinDepth()
AbstractAnalysis
getMinDepth
in class AbstractAnalysis
@NonNull public SimpleAnalysis getPrimaryAnalysis()
@NonNull public CGValuedElement getPrimaryElement()
AbstractAnalysis
getPrimaryElement
in class AbstractAnalysis
public int getStructuralHashCode()
AbstractAnalysis
getStructuralHashCode
in class AbstractAnalysis
public boolean isStructurallyEqualTo(@NonNull AbstractAnalysis thatAnalysis)
AbstractAnalysis
isStructurallyEqualTo
in class AbstractAnalysis
public boolean isStructurallyEqualTo(@NonNull SimpleAnalysis thatAnalysis)
AbstractAnalysis
isStructurallyEqualTo
in class AbstractAnalysis
public void removedSimpleAnalysis(SimpleAnalysis simpleAnalysis)
public void rewrite(@NonNull CodeGenAnalyzer analyzer, @NonNull CGValuedElement controlElement)
@NonNull protected CGLetExp rewriteAsLet(@NonNull CGValuedElement cgIn, @NonNull CGVariable cgVariable)
protected void rewriteAsVariableExp(@NonNull CGValuedElement cgElement, @NonNull CGVariable cgVariable)
public void rewriteGlobal(@NonNull CodeGenAnalyzer analyzer)
public java.lang.String toString()
toString
in class java.lang.Object