From f3944170495ecace91caf810bda9f49ad0f29229 Mon Sep 17 00:00:00 2001 From: Andrew Craik Date: Fri, 10 Jan 2020 14:27:17 -0500 Subject: [PATCH] Revert PR4699 "Added support for loadaddr in copy propagation." Recent changes in PR4699 to adds support to copy propagation for loadaddr nodes are responsible for acceptance build failures at OpenJ9 with a variety of crashes. This change backs out the changes in PR4699 until the cause of the problem is identified. This reverts commit d27fc6166b643f07d8fc83d4c5cf5c7976bbb4ba. Signed-off-by: Andrew Craik --- compiler/optimizer/CopyPropagation.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compiler/optimizer/CopyPropagation.cpp b/compiler/optimizer/CopyPropagation.cpp index a8382551ebd..9fc79f887f9 100644 --- a/compiler/optimizer/CopyPropagation.cpp +++ b/compiler/optimizer/CopyPropagation.cpp @@ -59,6 +59,7 @@ #include "optimizer/TransformUtil.hpp" #include "ras/Debug.hpp" + #define OPT_DETAILS "O^O COPY PROPAGATION: " @@ -802,6 +803,7 @@ int32_t TR_CopyPropagation::perform() if (!useNode) continue; if (useNode->getReferenceCount() == 0) continue; + if (useNode->getOpCodeValue() == TR::loadaddr) continue; TR::Node *loadNode, *baseNode; int32_t regNumber; @@ -2242,7 +2244,7 @@ bool TR_CopyPropagation::isCorrectToReplace(TR::Node *useNode, TR::Node *storeNo TR::Node * TR_CopyPropagation::isLoadVarWithConst(TR::Node *node) { - if ((node->getOpCode().isLoadVarDirect() || (node->getOpCodeValue() == TR::loadaddr)) && + if (node->getOpCode().isLoadVarDirect() && node->getSymbolReference()->getSymbol()->isAutoOrParm()) { return node;