public class GlobalPlace extends AbstractPlace
| Modifier and Type | Field and Description |
|---|---|
protected CodeGenAnalyzer |
analyzer |
protected HashedAnalyses |
globalAnalyses |
protected ReferencesVisitor |
referencesVisitor |
| Constructor and Description |
|---|
GlobalPlace(CodeGenAnalyzer analyzer) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSimpleAnalysis(SimpleAnalysis simpleAnalysis) |
protected SimpleAnalysis |
buildSimpleAnalysisTree(CGElement cgElement,
int depth)
Populate the map from structural hash code to same-hashed analysis in the analysis tree rooted at thisAnalysis.
|
static AbstractPlace |
createGlobalPlace(java.util.Map<CGElement,AbstractPlace> element2place,
CGElement cgElement) |
CodeGenAnalyzer |
getAnalyzer() |
ControlPlace |
getControlPlace(CGValuedElement cgElement) |
GlobalPlace |
getGlobalPlace()
Return the GlobalPlace.
|
GlobalPlace |
getParentPlace()
Return the parent of this place, which is self for the GlobalPlace.
|
AbstractPlace |
getPlace(CGElement cgElement) |
ReferencesVisitor |
getReferencesVisitor() |
SimpleAnalysis |
getSimpleAnalysis(java.lang.Object anObject) |
java.util.List<CGValuedElement> |
getSortedGlobals(DependencyVisitor dependencyVisitor) |
StackPlace |
getStackPlace()
Return the stack place hosting this place.
|
protected int |
getStructuralHashCode(CGElement cgElement,
java.lang.String prefix) |
void |
optimize(CGElement cgRoot)
Optimize the cgRoot tree by eliminating common subexpressions.
|
void |
optimizeGlobals(CGElement cgRoot) |
void |
printHierarchy(java.lang.Appendable appendable,
java.lang.String indentation) |
java.lang.String |
toString() |
getControlPlace@NonNull protected final CodeGenAnalyzer analyzer
@NonNull protected final ReferencesVisitor referencesVisitor
@NonNull protected final HashedAnalyses globalAnalyses
public GlobalPlace(@NonNull
CodeGenAnalyzer analyzer)
@NonNull public static AbstractPlace createGlobalPlace(@NonNull java.util.Map<CGElement,AbstractPlace> element2place, @NonNull CGElement cgElement)
public void addSimpleAnalysis(@NonNull
SimpleAnalysis simpleAnalysis)
@Nullable protected SimpleAnalysis buildSimpleAnalysisTree(@NonNull CGElement cgElement, int depth)
Returns the SimpleAnalysis of cgElement.
@NonNull public CodeGenAnalyzer getAnalyzer()
@NonNull public ControlPlace getControlPlace(@NonNull CGValuedElement cgElement)
@NonNull public GlobalPlace getGlobalPlace()
AbstractPlacegetGlobalPlace in class AbstractPlace@NonNull public GlobalPlace getParentPlace()
AbstractPlacegetParentPlace in class AbstractPlace@Nullable public AbstractPlace getPlace(@NonNull CGElement cgElement)
@NonNull public ReferencesVisitor getReferencesVisitor()
@Nullable public SimpleAnalysis getSimpleAnalysis(@NonNull java.lang.Object anObject)
@Nullable public java.util.List<CGValuedElement> getSortedGlobals(@NonNull DependencyVisitor dependencyVisitor)
@Nullable public StackPlace getStackPlace()
AbstractPlacegetStackPlace in class AbstractPlaceprotected int getStructuralHashCode(@NonNull
CGElement cgElement,
@NonNull
java.lang.String prefix)
public void optimize(@NonNull
CGElement cgRoot)
public void optimizeGlobals(@NonNull
CGElement cgRoot)
public void printHierarchy(@NonNull
java.lang.Appendable appendable,
@NonNull
java.lang.String indentation)
printHierarchy in class AbstractPlacepublic java.lang.String toString()
toString in class java.lang.Object