openj9
openj9 copied to clipboard
Investigate and Fix issues with RegDepCopyRemoval Optimization with SplitPostGRA
For the ValueTypes, certain transformations done in Lowering trees uses SplitPostGRA to split the block with Global Register Dependencies. RegDepCopyRemoval optimization which works in minimizing the register shuffling for GlRegDeps was generating trees which was not expected by SplitPostGRA and it was throwing Fatal Assert. I took a crack at fixing the issue by making changes in both optimization and block splitter in https://github.com/eclipse/omr/pull/5219. Changes works functionally fine but when I ran a DayTrader, I observed regression amounting 5 %.
We made a decision to disable the RegDepCopyRemoval optimization for Value Types. I am opening up this issue to keep track of investigation to fix the regression and enable the optimization.