1 /* |
1 /* |
2 * Copyright (c) 2013, 2018, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2013, 2019, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
31 import org.graalvm.compiler.nodes.StructuredGraph; |
31 import org.graalvm.compiler.nodes.StructuredGraph; |
32 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; |
32 import org.graalvm.compiler.nodes.StructuredGraph.AllowAssumptions; |
33 import org.graalvm.compiler.nodes.calc.IsNullNode; |
33 import org.graalvm.compiler.nodes.calc.IsNullNode; |
34 import org.graalvm.compiler.nodes.memory.ReadNode; |
34 import org.graalvm.compiler.nodes.memory.ReadNode; |
35 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; |
35 import org.graalvm.compiler.nodes.memory.address.OffsetAddressNode; |
|
36 import org.graalvm.compiler.nodes.spi.CoreProviders; |
36 import org.graalvm.compiler.nodes.spi.LoweringTool; |
37 import org.graalvm.compiler.nodes.spi.LoweringTool; |
37 import org.graalvm.compiler.nodes.type.StampTool; |
38 import org.graalvm.compiler.nodes.type.StampTool; |
38 import org.graalvm.compiler.phases.common.CanonicalizerPhase; |
39 import org.graalvm.compiler.phases.common.CanonicalizerPhase; |
39 import org.graalvm.compiler.phases.common.LoweringPhase; |
40 import org.graalvm.compiler.phases.common.LoweringPhase; |
40 import org.graalvm.compiler.phases.tiers.PhaseContext; |
|
41 import org.junit.Assert; |
41 import org.junit.Assert; |
42 import org.junit.Ignore; |
42 import org.junit.Ignore; |
43 import org.junit.Test; |
43 import org.junit.Test; |
44 |
44 |
45 import jdk.vm.ci.meta.ResolvedJavaField; |
45 import jdk.vm.ci.meta.ResolvedJavaField; |
101 } |
101 } |
102 } |
102 } |
103 |
103 |
104 private StructuredGraph compileTestSnippet(final String snippet) { |
104 private StructuredGraph compileTestSnippet(final String snippet) { |
105 StructuredGraph graph = parseEager(snippet, AllowAssumptions.NO); |
105 StructuredGraph graph = parseEager(snippet, AllowAssumptions.NO); |
106 PhaseContext context = new PhaseContext(getProviders()); |
106 CoreProviders context = getProviders(); |
107 CanonicalizerPhase canonicalizer = new CanonicalizerPhase(); |
107 CanonicalizerPhase canonicalizer = new CanonicalizerPhase(); |
108 new LoweringPhase(canonicalizer, LoweringTool.StandardLoweringStage.HIGH_TIER).apply(graph, context); |
108 new LoweringPhase(canonicalizer, LoweringTool.StandardLoweringStage.HIGH_TIER).apply(graph, context); |
109 canonicalizer.apply(graph, context); |
109 canonicalizer.apply(graph, context); |
110 canonicalizer.apply(graph, context); |
110 canonicalizer.apply(graph, context); |
111 |
111 |