Skip to content

Commit

Permalink
Create known object temps when splitting block
Browse files Browse the repository at this point in the history
When splitting a block, temps are created to uncommon references across
the splitted blocks. Use known object temps, if the original referenced
value is a known object.

Signed-off-by: Yi Zhang <yizhang@ca.ibm.com>
  • Loading branch information
Yi Zhang committed Jun 18, 2019
1 parent d513c54 commit b00f645
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions compiler/optimizer/Inliner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3117,6 +3117,9 @@ TR_HandleInjectedBasicBlock::createTemps(bool replaceAllReferences)
value = valueToTempConv;
}

if (value->getOpCode().hasSymbolReference() && value->getSymbolReference()->hasKnownObjectIndex())
symRef = comp()->getSymRefTab()->findOrCreateTemporaryWithKnowObjectIndex(_methodSymbol, value->getSymbolReference()->getKnownObjectIndex());

OMR_InlinerUtil::storeValueInATemp(comp(), value, symRef, tt, _methodSymbol, _injectedBasicBlockTemps, _availableTemps, 0);
}

Expand Down

0 comments on commit b00f645

Please sign in to comment.