src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/phases/MidTier.java
equal
deleted
inserted
replaced
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. |
53 import org.graalvm.compiler.phases.common.InsertGuardFencesPhase; |
53 import org.graalvm.compiler.phases.common.InsertGuardFencesPhase; |
54 import org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase; |
54 import org.graalvm.compiler.phases.common.IterativeConditionalEliminationPhase; |
55 import org.graalvm.compiler.phases.common.LockEliminationPhase; |
55 import org.graalvm.compiler.phases.common.LockEliminationPhase; |
56 import org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase; |
56 import org.graalvm.compiler.phases.common.LoopSafepointInsertionPhase; |
57 import org.graalvm.compiler.phases.common.LoweringPhase; |
57 import org.graalvm.compiler.phases.common.LoweringPhase; |
|
58 import org.graalvm.compiler.phases.common.OptimizeDivPhase; |
58 import org.graalvm.compiler.phases.common.VerifyHeapAtReturnPhase; |
59 import org.graalvm.compiler.phases.common.VerifyHeapAtReturnPhase; |
59 import org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase; |
60 import org.graalvm.compiler.phases.common.WriteBarrierAdditionPhase; |
60 import org.graalvm.compiler.phases.tiers.MidTierContext; |
61 import org.graalvm.compiler.phases.tiers.MidTierContext; |
61 |
62 |
62 public class MidTier extends PhaseSuite<MidTierContext> { |
63 public class MidTier extends PhaseSuite<MidTierContext> { |
91 appendPhase(new VerifyHeapAtReturnPhase()); |
92 appendPhase(new VerifyHeapAtReturnPhase()); |
92 } |
93 } |
93 |
94 |
94 appendPhase(new LoweringPhase(canonicalizer, LoweringTool.StandardLoweringStage.MID_TIER)); |
95 appendPhase(new LoweringPhase(canonicalizer, LoweringTool.StandardLoweringStage.MID_TIER)); |
95 |
96 |
|
97 appendPhase(new OptimizeDivPhase()); |
|
98 |
96 appendPhase(new FrameStateAssignmentPhase()); |
99 appendPhase(new FrameStateAssignmentPhase()); |
97 |
100 |
98 LoopPolicies loopPolicies = createLoopPolicies(); |
101 LoopPolicies loopPolicies = createLoopPolicies(); |
99 if (OptLoopTransform.getValue(options)) { |
102 if (OptLoopTransform.getValue(options)) { |
100 if (PartialUnroll.getValue(options)) { |
103 if (PartialUnroll.getValue(options)) { |