From cbe4b578a639ede260f33fc4ebcde17fcbf4ccc2 Mon Sep 17 00:00:00 2001 From: Max Graey Date: Fri, 6 Aug 2021 00:51:15 +0300 Subject: [OptimizeForJS] Fix use of localized variable in popcnt(x) == 1 rule (#4057) Localizer may have added a new tee and a local, and we should apply the tee in the right place. --- src/passes/OptimizeForJS.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/passes/OptimizeForJS.cpp') diff --git a/src/passes/OptimizeForJS.cpp b/src/passes/OptimizeForJS.cpp index b5ba84d90..589374c06 100644 --- a/src/passes/OptimizeForJS.cpp +++ b/src/passes/OptimizeForJS.cpp @@ -54,9 +54,7 @@ struct OptimizeForJSPass : public WalkerPass> { replaceCurrent(builder.makeBinary( AndInt32, - builder.makeUnary( - EqZInt32, - builder.makeUnary(eqzOp, builder.makeLocalGet(temp.index, type))), + builder.makeUnary(EqZInt32, builder.makeUnary(eqzOp, temp.expr)), builder.makeUnary( eqzOp, builder.makeBinary( -- cgit v1.2.3