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).
This commit is contained in:
Dmitry Petrov
2017-05-12 17:31:28 +03:00
parent 1378b0cf05
commit fe7870a1cd
2 changed files with 3 additions and 3 deletions
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.codegen.optimization
import org.jetbrains.kotlin.codegen.TransformationMethodVisitor import org.jetbrains.kotlin.codegen.TransformationMethodVisitor
import org.jetbrains.kotlin.codegen.optimization.boxing.RedundantBoxingMethodTransformer 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.common.prepareForEmitting
import org.jetbrains.kotlin.codegen.optimization.nullCheck.RedundantNullCheckMethodTransformer import org.jetbrains.kotlin.codegen.optimization.nullCheck.RedundantNullCheckMethodTransformer
import org.jetbrains.kotlin.codegen.optimization.transformer.CompositeMethodTransformer import org.jetbrains.kotlin.codegen.optimization.transformer.CompositeMethodTransformer
@@ -54,7 +54,7 @@ class OptimizationMethodVisitor(
RedundantCheckCastEliminationMethodTransformer(), RedundantCheckCastEliminationMethodTransformer(),
ConstantConditionEliminationMethodTransformer(), ConstantConditionEliminationMethodTransformer(),
RedundantBoxingMethodTransformer(), RedundantBoxingMethodTransformer(),
RedundantCoercionToUnitTransformer(), PopBackwardPropagationTransformer(),
DeadCodeEliminationMethodTransformer(), DeadCodeEliminationMethodTransformer(),
RedundantGotoMethodTransformer(), RedundantGotoMethodTransformer(),
RedundantNopsCleanupMethodTransformer() RedundantNopsCleanupMethodTransformer()
@@ -30,7 +30,7 @@ import org.jetbrains.org.objectweb.asm.tree.analysis.SourceInterpreter
import org.jetbrains.org.objectweb.asm.tree.analysis.SourceValue import org.jetbrains.org.objectweb.asm.tree.analysis.SourceValue
import java.util.* import java.util.*
class RedundantCoercionToUnitTransformer : MethodTransformer() { class PopBackwardPropagationTransformer : MethodTransformer() {
override fun transform(internalClassName: String, methodNode: MethodNode) { override fun transform(internalClassName: String, methodNode: MethodNode) {
Transformer(methodNode).transform() Transformer(methodNode).transform()
} }