src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringPhase.java
changeset 48861 47f19ff9903c
parent 48190 25cfedf27edc
child 50858 2d3e99a72541
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringPhase.java	Fri Feb 02 10:37:48 2018 -0500
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.phases.common/src/org/graalvm/compiler/phases/common/AddressLoweringPhase.java	Fri Feb 02 17:28:17 2018 -0800
@@ -33,6 +33,15 @@
 public class AddressLoweringPhase extends Phase {
 
     public abstract static class AddressLowering {
+
+        @SuppressWarnings("unused")
+        public void preProcess(StructuredGraph graph) {
+        }
+
+        @SuppressWarnings("unused")
+        public void postProcess(AddressNode lowered) {
+        }
+
         public abstract AddressNode lower(ValueNode base, ValueNode offset);
     }
 
@@ -45,11 +54,13 @@
 
     @Override
     protected void run(StructuredGraph graph) {
+        lowering.preProcess(graph);
         for (Node node : graph.getNodes()) {
             AddressNode lowered;
             if (node instanceof OffsetAddressNode) {
                 OffsetAddressNode address = (OffsetAddressNode) node;
                 lowered = lowering.lower(address.getBase(), address.getOffset());
+                lowering.postProcess(lowered);
             } else {
                 continue;
             }