[fix] Extend Address lowering support to prevent thrown unsupported
error for supported base addresses from not floatable read nodes
@@ -29,6 +29,7 @@ import org.graalvm.compiler.nodes.ParameterNode;
import org.graalvm.compiler.nodes.PiNode;
import org.graalvm.compiler.nodes.ValueNode;
import org.graalvm.compiler.nodes.memory.FloatingReadNode;
+import org.graalvm.compiler.nodes.memory.ReadNode;
import org.graalvm.compiler.nodes.memory.address.AddressNode;
import org.graalvm.compiler.phases.common.AddressLoweringPhase.AddressLowering;
@@ -47,7 +48,7 @@ public class OCLAddressLowering extends AddressLowering {
memoryRegister = ((FixedArrayNode) base).getMemoryRegister();
} else if (base instanceof LocalArrayNode) {
memoryRegister = ((LocalArrayNode) base).getMemoryRegister();
- } else if (!((base instanceof ParameterNode) || (base instanceof FloatingReadNode) || (base instanceof PiNode))) {
+ } else if (!((base instanceof ParameterNode) || (base instanceof ReadNode) || (base instanceof FloatingReadNode) || (base instanceof PiNode))) {
TornadoInternalError.unimplemented("address origin unimplemented: %s", base.getClass().getName());
}
