25 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0;
26 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0;
27
28 import java.lang.reflect.Method;
29
30 import org.junit.Assert;
31 import org.junit.Test;
32
33 import org.graalvm.compiler.core.test.GraalCompilerTest;
34 import org.graalvm.compiler.graph.Edges;
35 import org.graalvm.compiler.graph.Node;
36 import org.graalvm.compiler.graph.NodeClass;
37 import org.graalvm.compiler.graph.NodeInputList;
38 import org.graalvm.compiler.nodeinfo.NodeInfo;
39 import org.graalvm.compiler.nodes.ConstantNode;
40 import org.graalvm.compiler.nodes.StructuredGraph;
41 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
42 import org.graalvm.compiler.nodes.ValueNode;
43 import org.graalvm.compiler.nodes.calc.FloatingNode;
44 import org.graalvm.compiler.nodes.java.InstanceOfNode;
45 import org.graalvm.compiler.phases.common.CanonicalizerPhase;
46 import org.graalvm.compiler.phases.common.inlining.InliningPhase;
47 import org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy;
48 import org.graalvm.compiler.phases.tiers.HighTierContext;
49
50 import jdk.vm.ci.meta.ResolvedJavaMethod;
51
52 public class EdgesTest extends GraalCompilerTest {
53
54 @NodeInfo(cycles = CYCLES_0, size = SIZE_0)
55 static final class TestNode extends Node {
56 public static final NodeClass<TestNode> TYPE = NodeClass.create(TestNode.class);
57 @Input NodeInputList<ValueNode> itail;
58 @Input ConstantNode i1;
59 @Input FloatingNode i2;
60
61 protected TestNode() {
62 super(TYPE);
63 }
64
65 }
66
67 StructuredGraph graph = new StructuredGraph.Builder(getInitialOptions()).build();
68 TestNode node;
69 ConstantNode i1;
70 ConstantNode i2;
71 ConstantNode i3;
72 ConstantNode i4;
73 Edges inputs;
74
75 public EdgesTest() {
76 node = new TestNode();
77 i1 = ConstantNode.forInt(1, graph);
78 i2 = ConstantNode.forDouble(1.0d, graph);
79 i3 = ConstantNode.forInt(4, graph);
80 i4 = ConstantNode.forInt(14, graph);
81 node.itail = new NodeInputList<>(node, new ValueNode[]{i3, i4});
82 node.i1 = i1;
83 node.i2 = i2;
84 graph.add(node);
85 inputs = node.getNodeClass().getInputEdges();
86 }
87
|
25 import static org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0;
26 import static org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0;
27
28 import java.lang.reflect.Method;
29
30 import org.junit.Assert;
31 import org.junit.Test;
32
33 import org.graalvm.compiler.core.test.GraalCompilerTest;
34 import org.graalvm.compiler.graph.Edges;
35 import org.graalvm.compiler.graph.Node;
36 import org.graalvm.compiler.graph.NodeClass;
37 import org.graalvm.compiler.graph.NodeInputList;
38 import org.graalvm.compiler.nodeinfo.NodeInfo;
39 import org.graalvm.compiler.nodes.ConstantNode;
40 import org.graalvm.compiler.nodes.StructuredGraph;
41 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions;
42 import org.graalvm.compiler.nodes.ValueNode;
43 import org.graalvm.compiler.nodes.calc.FloatingNode;
44 import org.graalvm.compiler.nodes.java.InstanceOfNode;
45 import org.graalvm.compiler.options.OptionValues;
46 import org.graalvm.compiler.phases.common.CanonicalizerPhase;
47 import org.graalvm.compiler.phases.common.inlining.InliningPhase;
48 import org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy;
49 import org.graalvm.compiler.phases.tiers.HighTierContext;
50
51 import jdk.vm.ci.meta.ResolvedJavaMethod;
52
53 public class EdgesTest extends GraalCompilerTest {
54
55 @NodeInfo(cycles = CYCLES_0, size = SIZE_0)
56 static final class TestNode extends Node {
57 public static final NodeClass<TestNode> TYPE = NodeClass.create(TestNode.class);
58 @Input NodeInputList<ValueNode> itail;
59 @Input ConstantNode i1;
60 @Input FloatingNode i2;
61
62 protected TestNode() {
63 super(TYPE);
64 }
65
66 }
67
68 protected StructuredGraph createGraph() {
69 OptionValues options = getInitialOptions();
70 return new StructuredGraph.Builder(options, getDebugContext(options)).build();
71 }
72
73 StructuredGraph graph = createGraph();
74 TestNode node;
75 ConstantNode i1;
76 ConstantNode i2;
77 ConstantNode i3;
78 ConstantNode i4;
79 Edges inputs;
80
81 public EdgesTest() {
82 node = new TestNode();
83 i1 = ConstantNode.forInt(1, graph);
84 i2 = ConstantNode.forDouble(1.0d, graph);
85 i3 = ConstantNode.forInt(4, graph);
86 i4 = ConstantNode.forInt(14, graph);
87 node.itail = new NodeInputList<>(node, new ValueNode[]{i3, i4});
88 node.i1 = i1;
89 node.i2 = i2;
90 graph.add(node);
91 inputs = node.getNodeClass().getInputEdges();
92 }
93
|