25 import java.util.ArrayList; |
25 import java.util.ArrayList; |
26 import java.util.Collection; |
26 import java.util.Collection; |
27 import java.util.LinkedList; |
27 import java.util.LinkedList; |
28 import java.util.List; |
28 import java.util.List; |
29 |
29 |
|
30 import org.graalvm.collections.EconomicMap; |
|
31 import org.graalvm.collections.EconomicSet; |
|
32 import org.graalvm.collections.Equivalence; |
30 import org.graalvm.compiler.core.common.cfg.Loop; |
33 import org.graalvm.compiler.core.common.cfg.Loop; |
31 import org.graalvm.compiler.debug.DebugContext; |
34 import org.graalvm.compiler.debug.DebugContext; |
32 import org.graalvm.compiler.nodes.LoopBeginNode; |
35 import org.graalvm.compiler.nodes.LoopBeginNode; |
33 import org.graalvm.compiler.nodes.StructuredGraph; |
36 import org.graalvm.compiler.nodes.StructuredGraph; |
34 import org.graalvm.compiler.nodes.ValueNode; |
37 import org.graalvm.compiler.nodes.ValueNode; |
35 import org.graalvm.compiler.nodes.cfg.Block; |
38 import org.graalvm.compiler.nodes.cfg.Block; |
36 import org.graalvm.compiler.nodes.cfg.ControlFlowGraph; |
39 import org.graalvm.compiler.nodes.cfg.ControlFlowGraph; |
37 import org.graalvm.util.EconomicMap; |
|
38 import org.graalvm.util.EconomicSet; |
|
39 import org.graalvm.util.Equivalence; |
|
40 |
40 |
41 public class LoopsData { |
41 public class LoopsData { |
42 private final EconomicMap<LoopBeginNode, LoopEx> loopBeginToEx = EconomicMap.create(Equivalence.IDENTITY); |
42 private final EconomicMap<LoopBeginNode, LoopEx> loopBeginToEx = EconomicMap.create(Equivalence.IDENTITY); |
43 private final ControlFlowGraph cfg; |
43 private final ControlFlowGraph cfg; |
44 private final List<LoopEx> loops; |
44 private final List<LoopEx> loops; |