Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skip NULLCHK that has already been optimized away in Loop Versioner #4294

Merged
merged 1 commit into from
Sep 12, 2019

Conversation

hzongaro
Copy link
Contributor

In TR_LoopVersioner::versionNaturalLoop, a NULLCHK might be specialized away. However, it will still appear among the list of treetops that are tracked in nullCheckTrees. When subsequent operations iterate over that list, they must skip NULLCHK nodes that no longer take effect.

Signed-off-by: Henry Zongaro zongaro@ca.ibm.com

In TR_LoopVersioner::versionNaturalLoop, a NULLCHK might be specialized
away.  However, it will still appear among the list of treetops in
nullCheckTrees.  When subsequent operations iterate over that list, they
must skip NULLCHK nodes that no longer take effect.

Signed-off-by:  Henry Zongaro <zongaro@ca.ibm.com>
@hzongaro
Copy link
Contributor Author

Vijay @vijaysun-omr and Liqun @liqunl, may I ask you to review? I've just submitted a personal build to test out this change.

@liqunl
Copy link
Contributor

liqunl commented Sep 11, 2019

Looks good to me.

@vijaysun-omr
Copy link
Contributor

@genie-omr build all

@vijaysun-omr vijaysun-omr self-assigned this Sep 11, 2019
@Leonardo2718
Copy link
Contributor

AppVeyor build failed due to infrastructural issues so I restarted it.

@vijaysun-omr
Copy link
Contributor

vijaysun-omr commented Sep 11, 2019

This is a pretty safe change; it just checks if the entry in the list of null check trees still has the opcode that is expected (namely a null check) before going forward. The case when it may not be a null check was investigated and we can skip processing the entry in the list in that case and so that's what is being done via this commit.

Checks have also passed. I am merging this.

@vijaysun-omr vijaysun-omr changed the title WIP: Skip NULLCHK that has already been optimized away in Loop Versioner Skip NULLCHK that has already been optimized away in Loop Versioner Sep 12, 2019
@vijaysun-omr vijaysun-omr merged commit d0cbb68 into eclipse-omr:master Sep 12, 2019
@hzongaro hzongaro deleted the loop-versioner-nullchk branch September 12, 2019 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants