public final class MemoryScheduleVerification extends ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>
Modifier and Type | Field and Description |
---|---|
private BlockMap<List<Node>> |
blockToNodesMap |
Modifier | Constructor and Description |
---|---|
private |
MemoryScheduleVerification(BlockMap<List<Node>> blockToNodesMap) |
Modifier and Type | Method and Description |
---|---|
private static void |
addFloatingReadUsages(Set<FloatingReadNode> currentState,
Node n) |
static boolean |
check(Block startBlock,
BlockMap<List<Node>> blockToNodesMap) |
protected Set<FloatingReadNode> |
cloneState(Set<FloatingReadNode> oldState) |
protected Set<FloatingReadNode> |
getInitialState() |
protected Set<FloatingReadNode> |
merge(Block merge,
List<Set<FloatingReadNode>> states) |
protected Set<FloatingReadNode> |
processBlock(Block block,
Set<FloatingReadNode> currentState) |
private void |
processLocation(Node n,
LocationIdentity location,
Set<FloatingReadNode> currentState) |
protected List<Set<FloatingReadNode>> |
processLoop(Loop<Block> loop,
Set<FloatingReadNode> initialState) |
private final BlockMap<List<Node>> blockToNodesMap
private MemoryScheduleVerification(BlockMap<List<Node>> blockToNodesMap)
protected Set<FloatingReadNode> getInitialState()
getInitialState
in class ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>
protected Set<FloatingReadNode> processBlock(Block block, Set<FloatingReadNode> currentState)
processBlock
in class ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>
private static void addFloatingReadUsages(Set<FloatingReadNode> currentState, Node n)
private void processLocation(Node n, LocationIdentity location, Set<FloatingReadNode> currentState)
protected Set<FloatingReadNode> merge(Block merge, List<Set<FloatingReadNode>> states)
merge
in class ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>
protected Set<FloatingReadNode> cloneState(Set<FloatingReadNode> oldState)
cloneState
in class ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>
protected List<Set<FloatingReadNode>> processLoop(Loop<Block> loop, Set<FloatingReadNode> initialState)
processLoop
in class ReentrantBlockIterator.BlockIteratorClosure<Set<FloatingReadNode>>