src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java Fri Jul 7 09:31:25 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java Fri Jul 7 09:31:25 2017
*** 29,43 ****
--- 29,45 ----
import org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph;
import org.graalvm.compiler.core.common.cfg.Loop;
import org.graalvm.compiler.graph.Node;
import org.graalvm.compiler.nodeinfo.Verbosity;
import org.graalvm.compiler.nodes.AbstractBeginNode;
+ import org.graalvm.compiler.nodes.BeginNode;
import org.graalvm.compiler.nodes.FixedNode;
import org.graalvm.compiler.nodes.FixedWithNextNode;
import org.graalvm.compiler.nodes.InvokeWithExceptionNode;
import org.graalvm.compiler.nodes.LoopBeginNode;
import org.graalvm.compiler.nodes.LoopEndNode;
+ import org.graalvm.compiler.nodes.LoopExitNode;
import org.graalvm.compiler.nodes.memory.MemoryCheckpoint;
import org.graalvm.word.LocationIdentity;
public final class Block extends AbstractBlockBase<Block> {
*** 46,56 ****
--- 48,58 ----
protected final AbstractBeginNode beginNode;
protected FixedNode endNode;
protected double probability;
! protected Loop<Block> loop;
! private Loop<Block> loop;
protected Block postdominator;
protected Block distancedDominatorCache;
private LocationSet killLocations;
private LocationSet killLocationsBetweenThisAndDominator;
*** 65,74 ****
--- 67,91 ----
public FixedNode getEndNode() {
return endNode;
}
+ /**
+ * Return the {@link LoopExitNode} for this block if it exists.
+ */
+ public LoopExitNode getLoopExit() {
+ if (beginNode instanceof BeginNode) {
+ if (beginNode.next() instanceof LoopExitNode) {
+ return (LoopExitNode) beginNode.next();
+ }
+ }
+ if (beginNode instanceof LoopExitNode) {
+ return (LoopExitNode) beginNode;
+ }
+ return null;
+ }
+
@Override
public Loop<Block> getLoop() {
return loop;
}
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.nodes/src/org/graalvm/compiler/nodes/cfg/Block.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File