Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix the check on isStoreIndirect in LocalAnalysis
In `hasOldExpressionOnRhs()`, we temporarily change wrtbar to aloadi for the syntactic comparison in `areSyntacticallyEquivalent()`. When it’s an indirect store, the number of children of the node is set to 1, otherwise 0. Because the check on whether not the node is an indirect store happens after the wrtbar node is recreated as aloadi, `node->getOpCode().isStoreIndirect()` is false for aloadi, and the number of children for wrtbar node ends up as 0. It prevents `areSyntacticallyEquivalent()` from comparing the first child of the two nodes. It concludes that different expressions as the same. The fix is to check if it’s an indirect store from the original node. Fixes eclipse-openj9/openj9#11569 Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
- Loading branch information