diff --git a/compiler/src/prog8/optimizer/BinExprSplitter.kt b/compiler/src/prog8/optimizer/BinExprSplitter.kt index eef2cedcc..bbc733a75 100644 --- a/compiler/src/prog8/optimizer/BinExprSplitter.kt +++ b/compiler/src/prog8/optimizer/BinExprSplitter.kt @@ -53,12 +53,11 @@ X = BinExpr X = LeftExpr */ - // TODO can be generelized a bit by allowing LEFT EXPR to be more complex if(binExpr.operator in augmentAssignmentOperators && isSimpleTarget(assignment.target, program.namespace)) { if(assignment.target isSameAs binExpr.left || assignment.target isSameAs binExpr.right) return noModifications - if(isSimpleExpression(binExpr.left) && isSimpleExpression(binExpr.right) && !assignment.isAugmentable) { + if(isSimpleExpression(binExpr.right) && !assignment.isAugmentable) { val firstAssign = Assignment(assignment.target, binExpr.left, binExpr.left.position) val targetExpr = assignment.target.toExpression() val augExpr = BinaryExpression(targetExpr, binExpr.operator, binExpr.right, binExpr.right.position) diff --git a/examples/mandelbrot.p8 b/examples/mandelbrot.p8 index 3a57abb01..50fd45f95 100644 --- a/examples/mandelbrot.p8 +++ b/examples/mandelbrot.p8 @@ -4,8 +4,6 @@ ; Note: this program is compatible with C64 and CX16. -; TODO this is 5 seconds slower than the previous compiled version. Caused by BinExprSplitter change? - main { const uword width = 30 const uword height = 20