From fe7870a1cde304750620ab93ef48e4ff4e744400 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 12 May 2017 17:31:28 +0300 Subject: [PATCH] Minor: RedundantCoercionToUnit -> PopBackwardPropagation It is actually more meaningful than just "coercion to unit elision": it removes instructions without side effects with results that are unused (popped from the stack). --- .../kotlin/codegen/optimization/OptimizationMethodVisitor.kt | 4 ++-- .../optimization/boxing/PopBackwardPropagationTransformer.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt index 0af77a1a3c2..b5a30be3eae 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/OptimizationMethodVisitor.kt @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization import org.jetbrains.kotlin.codegen.TransformationMethodVisitor import org.jetbrains.kotlin.codegen.optimization.boxing.RedundantBoxingMethodTransformer -import org.jetbrains.kotlin.codegen.optimization.boxing.RedundantCoercionToUnitTransformer +import org.jetbrains.kotlin.codegen.optimization.boxing.PopBackwardPropagationTransformer import org.jetbrains.kotlin.codegen.optimization.common.prepareForEmitting import org.jetbrains.kotlin.codegen.optimization.nullCheck.RedundantNullCheckMethodTransformer import org.jetbrains.kotlin.codegen.optimization.transformer.CompositeMethodTransformer @@ -54,7 +54,7 @@ class OptimizationMethodVisitor( RedundantCheckCastEliminationMethodTransformer(), ConstantConditionEliminationMethodTransformer(), RedundantBoxingMethodTransformer(), - RedundantCoercionToUnitTransformer(), + PopBackwardPropagationTransformer(), DeadCodeEliminationMethodTransformer(), RedundantGotoMethodTransformer(), RedundantNopsCleanupMethodTransformer() diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/PopBackwardPropagationTransformer.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/PopBackwardPropagationTransformer.kt index 41db1d3d3cc..4ee4a0b8ad8 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/PopBackwardPropagationTransformer.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/optimization/boxing/PopBackwardPropagationTransformer.kt @@ -30,7 +30,7 @@ import org.jetbrains.org.objectweb.asm.tree.analysis.SourceInterpreter import org.jetbrains.org.objectweb.asm.tree.analysis.SourceValue import java.util.* -class RedundantCoercionToUnitTransformer : MethodTransformer() { +class PopBackwardPropagationTransformer : MethodTransformer() { override fun transform(internalClassName: String, methodNode: MethodNode) { Transformer(methodNode).transform() }