Mercurial > hg > truffle
changeset 15379:d8b36589cab0
Guards which are guarenteed to succeed can replace themselves with null.
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 25 Apr 2014 10:33:17 +0200 |
parents | dea98caac669 |
children | 10c6705dbe9a |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java |
diffstat | 2 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Thu Apr 24 17:18:24 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java Fri Apr 25 10:33:17 2014 +0200 @@ -107,7 +107,8 @@ } else if (condition() instanceof LogicConstantNode) { LogicConstantNode c = (LogicConstantNode) condition(); if (c.getValue() != negated) { - return graph().start(); + this.replaceAtUsages(null); + return null; } } return this;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Thu Apr 24 17:18:24 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java Fri Apr 25 10:33:17 2014 +0200 @@ -77,7 +77,7 @@ @Override public Node canonical(CanonicalizerTool tool) { - if (getGuard() == graph().start() || getGuard() == null) { + if (getGuard() == null) { if (stamp().equals(object().stamp())) { return object(); } else {