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

(0.33) Make versioner skip loops that have become acyclic during the pass #147

Merged

Conversation

jdmpapin
Copy link
Contributor

@jdmpapin jdmpapin commented Jun 2, 2022

This is the 0.33 PR for eclipse-omr/omr#6531, with the exact same commit that was merged earlier today into eclipse/omr:master

The region structure is expected to be a loop. If it isn't, then
versioner may misbehave, e.g. it may crash. And besides, there's no
point in trying to version an acyclic region anyway.

HCR guard versioning removes edges from the CFG immediately (unlike
versioning of regular conditionals/virtual guards, which leaves a
trivially foldable conditional tree in place). The removal of particular
edges can change loops into acyclic regions, so skip any region that is
no longer a loop.

(OSR guard versioning also removes edges immediately, but the targets of
those edges are not within any loop, so their removal can't change loops
into acyclic regions.)
@pshipton pshipton merged commit 57f2b3f into eclipse-openj9:v0.33.0-release Jun 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants