public class ControlPlace extends LocalPlace
Modifier and Type | Field and Description |
---|---|
protected HashedAnalyses |
hashedAnalyses |
protected LocalPlace |
parentPlace |
protected CGValuedElement |
placedElement |
globalPlace
Constructor and Description |
---|
ControlPlace(LocalPlace parentPlace,
CGValuedElement cgElement) |
Modifier and Type | Method and Description |
---|---|
void |
addAnalysis(AbstractAnalysis anAnalysis) |
static AbstractPlace |
createControlPlace(java.util.Map<CGElement,AbstractPlace> element2place,
CGValuedElement cgElement) |
static ControlPlace |
getControlPlace(java.util.Map<CGElement,AbstractPlace> element2place,
CGValuedElement cgElement) |
int |
getDepth() |
HashedAnalyses |
getHashedAnalyses() |
LocalPlace |
getParentPlace()
Return the parent of this place, which is self for the GlobalPlace.
|
SimpleAnalysis |
getSimpleAnalysis() |
StackPlace |
getStackPlace()
Return the stack place hosting this place.
|
void |
printHierarchy(java.lang.Appendable appendable,
java.lang.String indentation) |
void |
prune()
Filter the element analyses to discard non-SharedAnalysis and to return a partitioning of the results by minimum depth.
|
void |
pullUp()
Pull up all redundant child analyses that are visible in a parent to the parent.
|
void |
pushUp()
Push shareable analyses up the place tree.
|
void |
rewrite()
Rewrite the expression trees to exploit the CSEs.
|
java.lang.String |
toString() |
addControlPlace, createLocalPlace, getGlobalPlace, getGlobalPlace, getLocalPlace, getLocalPlace
getControlPlace
@NonNull protected final LocalPlace parentPlace
@NonNull protected final CGValuedElement placedElement
@NonNull protected final HashedAnalyses hashedAnalyses
public ControlPlace(@NonNull LocalPlace parentPlace, @NonNull CGValuedElement cgElement)
@NonNull public static AbstractPlace createControlPlace(@NonNull java.util.Map<CGElement,AbstractPlace> element2place, @NonNull CGValuedElement cgElement)
@NonNull public static ControlPlace getControlPlace(@NonNull java.util.Map<CGElement,AbstractPlace> element2place, @NonNull CGValuedElement cgElement)
public void addAnalysis(@NonNull AbstractAnalysis anAnalysis)
public int getDepth()
@NonNull public HashedAnalyses getHashedAnalyses()
@NonNull public LocalPlace getParentPlace()
AbstractPlace
getParentPlace
in class AbstractPlace
@NonNull public SimpleAnalysis getSimpleAnalysis()
@NonNull public StackPlace getStackPlace()
AbstractPlace
getStackPlace
in class LocalPlace
public void printHierarchy(@NonNull java.lang.Appendable appendable, @NonNull java.lang.String indentation)
printHierarchy
in class LocalPlace
public void prune()
prune
in class LocalPlace
public void pullUp()
LocalPlace
pullUp
in class LocalPlace
public void pushUp()
LocalPlace
pushUp
in class LocalPlace
public void rewrite()
LocalPlace
rewrite
in class LocalPlace
public java.lang.String toString()
toString
in class java.lang.Object