Skip to content

Commit

Permalink
Address PR Comments
Browse files Browse the repository at this point in the history
- Remove changeHeapBaseConstToLoad routine
- Remove translatedNode search

Signed-off-by: Dhruv Chopra <Dhruv.C.Chopra@ibm.com>
  • Loading branch information
dchopra001 committed Jan 20, 2021
1 parent ab1fd2e commit 55a1b7d
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 91 deletions.
35 changes: 0 additions & 35 deletions compiler/optimizer/GlobalRegisterAllocator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -254,41 +254,6 @@ bool TR_GlobalRegisterAllocator::isTypeAvailable(TR::SymbolReference *symref)
return allocateForType(symref->getSymbol()->getDataType());
}

static void changeHeapBaseConstToLoad(TR::Compilation *comp, TR::SymbolReference * &autoSymRef, TR::Node *node, vcount_t visitCount)
{
if (node->getVisitCount() == visitCount)
return;

node->setVisitCount(visitCount);

if (node->getOpCodeValue() == TR::lconst &&
node->getLongInt() == 0)
{
if (!autoSymRef)
{
autoSymRef = comp->getSymRefTab()->createTemporary(comp->getMethodSymbol(), node->getDataType());
TR::TreeTop *startTree = comp->getStartTree();
TR::TreeTop *nextTree = startTree->getNextTreeTop();

TR::Node *lconstNode = TR::Node::create(node, TR::lconst, 0, 0);
lconstNode->setLongInt(node->getLongInt());
TR::Node *storeNode = TR::Node::createWithSymRef(TR::lstore, 1, 1, lconstNode, autoSymRef);
TR::TreeTop *tt = TR::TreeTop::create(comp, storeNode);
startTree->join(tt);
tt->join(nextTree);
}

TR::Node::recreate(node, TR::lload);
node->setSymbolReference(autoSymRef);
}

for (int32_t i = 0; i < node->getNumChildren(); ++i)
{
TR::Node *child = node->getChild(i);
changeHeapBaseConstToLoad(comp, autoSymRef, child, visitCount);
}
}

void
TR_GlobalRegisterAllocator::visitNodeForDataType(TR::Node *node)
{
Expand Down
28 changes: 0 additions & 28 deletions compiler/p/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -936,34 +936,6 @@ TR::Register *OMR::Power::TreeEvaluator::istoreEvaluator(TR::Node *node, TR::Cod
if (node->getOpCode().isIndirect())
{
valueChild = node->getSecondChild(); //handles iistore

if (comp->useCompressedPointers() &&
(node->getSymbolReference()->getSymbol()->getDataType() == TR::Address))
{
// pattern match the sequence
// iistore f iistore f <- node
// aload O aload O
// value l2i
// lshr <- translatedNode
// lsub
// a2l
// value <- valueChild
// lconst HB
// iconst shftKonst
//
// -or- if the field is known to be null
// iistore f
// aload O
// l2i
// a2l
// value <- valueChild
//
TR::Node *translatedNode = valueChild;
if (translatedNode->getOpCodeValue() == TR::l2i)
translatedNode = translatedNode->getFirstChild();
if (translatedNode->getOpCode().isRightShift()) // optional
translatedNode = translatedNode->getFirstChild();
}
}
else
{
Expand Down
28 changes: 0 additions & 28 deletions compiler/z/codegen/OMRTreeEvaluator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5415,39 +5415,11 @@ istoreHelper(TR::Node * node, TR::CodeGenerator * cg, bool isReversed)

TR::Node *unCompressedValue = NULL;
TR::Compilation *comp = cg->comp();
TR::Node *translatedNode = NULL;

if (node->getOpCode().isIndirect())
{
valueChild = node->getSecondChild();
addrChild = node->getFirstChild();
if (comp->useCompressedPointers() &&
(node->getSymbolReference()->getSymbol()->getDataType() == TR::Address))
{
// pattern match the sequence
// iistore f iistore f <- node
// aload O aload O <- addrChild
// value l2i
// lshr
// lsub <- translatedNode
// a2l
// value <- valueChild
// lconst HB
// iconst shftKonst
//
// -or- if the field is known to be null
// iistore f
// aload O
// l2i
// a2l
// value <- valueChild
//
translatedNode = valueChild;
if (translatedNode->getOpCodeValue() == TR::l2i)
translatedNode = translatedNode->getFirstChild();
if (translatedNode->getOpCode().isRightShift()) // optional
translatedNode = translatedNode->getFirstChild();
}
}
else
{
Expand Down

0 comments on commit 55a1b7d

Please sign in to comment.