changeset 14026:57a2d00ef771

Source comments in integer conversion nodes.
author Roland Schatz <roland.schatz@oracle.com>
date Wed, 26 Feb 2014 15:56:11 +0100
parents 9738280055ce
children aba77882e314
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java
diffstat 3 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java	Wed Feb 26 15:56:03 2014 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java	Wed Feb 26 15:56:11 2014 +0100
@@ -71,19 +71,29 @@
         }
 
         if (getInput() instanceof NarrowNode) {
+            // zzzzzzzz yyyyxxxx -(narrow)-> yyyyxxxx -(narrow)-> xxxx
+            // ==> zzzzzzzz yyyyxxxx -(narrow)-> xxxx
             NarrowNode other = (NarrowNode) getInput();
             return graph().unique(new NarrowNode(other.getInput(), getResultBits()));
         } else if (getInput() instanceof IntegerConvertNode) {
             // SignExtendNode or ZeroExtendNode
             IntegerConvertNode other = (IntegerConvertNode) getInput();
             if (getResultBits() == other.getInputBits()) {
+                // xxxx -(extend)-> yyyy xxxx -(narrow)-> xxxx
+                // ==> no-op
                 return other.getInput();
             } else if (getResultBits() < other.getInputBits()) {
+                // yyyyxxxx -(extend)-> zzzzzzzz yyyyxxxx -(narrow)-> xxxx
+                // ==> yyyyxxxx -(narrow)-> xxxx
                 return graph().unique(new NarrowNode(other.getInput(), getResultBits()));
             } else {
                 if (other instanceof SignExtendNode) {
+                    // sxxx -(sign-extend)-> ssssssss sssssxxx -(narrow)-> sssssxxx
+                    // ==> sxxx -(sign-extend)-> sssssxxx
                     return graph().unique(new SignExtendNode(other.getInput(), getResultBits()));
                 } else if (other instanceof ZeroExtendNode) {
+                    // xxxx -(zero-extend)-> 00000000 00000xxx -(narrow)-> 0000xxxx
+                    // ==> xxxx -(zero-extend)-> 0000xxxx
                     return graph().unique(new ZeroExtendNode(other.getInput(), getResultBits()));
                 }
             }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java	Wed Feb 26 15:56:03 2014 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java	Wed Feb 26 15:56:11 2014 +0100
@@ -73,11 +73,15 @@
         }
 
         if (getInput() instanceof SignExtendNode) {
+            // sxxx -(sign-extend)-> ssss sxxx -(sign-extend)-> ssssssss sssssxxx
+            // ==> sxxx -(sign-extend)-> ssssssss sssssxxx
             SignExtendNode other = (SignExtendNode) getInput();
             return graph().unique(new SignExtendNode(other.getInput(), getResultBits()));
         } else if (getInput() instanceof ZeroExtendNode) {
             ZeroExtendNode other = (ZeroExtendNode) getInput();
             if (other.getResultBits() > other.getInputBits()) {
+                // sxxx -(zero-extend)-> 0000 sxxx -(sign-extend)-> 00000000 0000sxxx
+                // ==> sxxx -(zero-extend)-> 00000000 0000sxxx
                 return graph().unique(new ZeroExtendNode(other.getInput(), getResultBits()));
             }
         }
@@ -85,6 +89,8 @@
         if (getInput().stamp() instanceof IntegerStamp) {
             IntegerStamp inputStamp = (IntegerStamp) getInput().stamp();
             if ((inputStamp.upMask() & (1L << (getInputBits() - 1))) == 0L) {
+                // 0xxx -(sign-extend)-> 0000 0xxx
+                // ==> 0xxx -(zero-extend)-> 0000 0xxx
                 return graph().unique(new ZeroExtendNode(getInput(), getResultBits()));
             }
         }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java	Wed Feb 26 15:56:03 2014 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java	Wed Feb 26 15:56:11 2014 +0100
@@ -69,6 +69,8 @@
         }
 
         if (getInput() instanceof ZeroExtendNode) {
+            // xxxx -(zero-extend)-> 0000 xxxx -(zero-extend)-> 00000000 0000xxxx
+            // ==> xxxx -(zero-extend)-> 00000000 0000xxxx
             ZeroExtendNode other = (ZeroExtendNode) getInput();
             return graph().unique(new ZeroExtendNode(other.getInput(), getResultBits()));
         }