rework LivenessAnalysis

This commit is contained in:
ChUrl
2021-01-31 16:32:08 +01:00
parent ab29c63874
commit 228a0221ac

View File

@ -8,6 +8,11 @@ import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
/**
* Die Liveness-Analyse bestimmt die mindestanzahl an benötigten Registern für ein Programm.
* Anhand eines {@link DataFlowGraph} wird ein {@link InterferenceGraph} erstellt.
* Dieser wird gefärbt, jede Farbe entspricht einem Register.
*/
public final class LivenessAnalysis { public final class LivenessAnalysis {
private final InterferenceGraph interferenceGraph; private final InterferenceGraph interferenceGraph;
@ -37,12 +42,12 @@ public final class LivenessAnalysis {
continue; continue;
} }
change = change || updateNodeInOut(node); change = change || calculateLivenessInOutNode(node);
} }
} while (change); } while (change);
} }
private static boolean updateNodeInOut(DataFlowNode dataFlowNode) { private static boolean calculateLivenessInOutNode(DataFlowNode dataFlowNode) {
boolean change; boolean change;
for (DataFlowNode succ : dataFlowNode.getSuccessorSet()) { for (DataFlowNode succ : dataFlowNode.getSuccessorSet()) {