Mercurial > hg > truffle
comparison graal/GraalCompiler/src/com/sun/c1x/graph/CriticalEdgeFinder.java @ 2674:6ab73784566a
* BlockBegin.predecessors changed to List<BlockEnd>
* Node: add input/successor with given back edge index, allows for explicit ordering of predecessors/usages
* Graphviz: PDF output, option to omit FrameStates
* runscimark.sh: forward additional options to JVM
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 13 May 2011 15:18:41 +0200 |
parents | dd115f80acf8 |
children | 27512ea6bbcb |
comparison
equal
deleted
inserted
replaced
2673:98447ab8bd83 | 2674:6ab73784566a |
---|---|
68 | 68 |
69 edges.get(block).add(succ); | 69 edges.get(block).add(succ); |
70 } | 70 } |
71 | 71 |
72 public void splitCriticalEdges() { | 72 public void splitCriticalEdges() { |
73 for (BlockBegin from : edges.keySet()) { | 73 for (Map.Entry<BlockBegin, Set<BlockBegin>> entry : edges.entrySet()) { |
74 for (BlockBegin to : edges.get(from)) { | 74 BlockBegin from = entry.getKey(); |
75 for (BlockBegin to : entry.getValue()) { | |
75 BlockBegin split = ir.splitEdge(from, to); | 76 BlockBegin split = ir.splitEdge(from, to); |
76 if (C1XOptions.PrintHIR) { | 77 if (C1XOptions.PrintHIR) { |
77 TTY.println("Split edge between block %d and block %d, creating new block %d", from.blockID, to.blockID, split.blockID); | 78 TTY.println("Split edge between block %d and block %d, creating new block %d", from.blockID, to.blockID, split.blockID); |
78 } | 79 } |
79 } | 80 } |