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

Re-enable CFGSimplifier #16459

Merged
merged 1 commit into from
Jan 10, 2023
Merged

Conversation

Akira1Saitoh
Copy link
Contributor

Re-enable CFGSimplifier which has been disabled by [1].
The motivation for re-enabling it is that we want to use it for removing boundary check code from the loop when using Vector JEP.
When vectorizing library calls of jdk.incubator.vector package, there are many calls to Preconditions.checkIndex() [2] left in the loop. It checks if index is in the range and throws an OOB exception when the check fails. We want to take this boundary check code out of the loop.
CFGSimplifier should be able to transform the boundary check pattern into a BNDCHK node [3] and we can let loopVersioner remove the BNDCHK from the loop.
The original issue with CFGSimplifier [4] seems to be already fixed by [5]. I am not able to reproduce it with multiple runs of system test using this commit. It seems that the most recent problem with CFGSimplifier [6] was seen in sanity.functional but I am not able to reproduce it either.

[1] #9783
[2] https://github.com/ibmruntimes/openj9-openjdk-jdk19/blob/d78ba9640fed4fc0b5cda490a2ac8c2f21622059/src/java.base/share/classes/jdk/internal/util/Preconditions.java#L299
[3] eclipse/omr#5085
[4] #9754
[5] #10224
[6] #10961 (comment)

Signed-off-by: Akira Saitoh saiaki@jp.ibm.com

@Akira1Saitoh
Copy link
Contributor Author

FYI @gita-omr

Signed-off-by: Akira Saitoh <saiaki@jp.ibm.com>
@gita-omr
Copy link
Contributor

Jenkins test sanity,extended all jdk8,jdk11,jdk19

@gita-omr
Copy link
Contributor

Build_JDK19_x86-64_mac_Personal and Test_openjdk11_j9_extended.functional_x86-64_windows_Personal seem to be env issues...

@gita-omr
Copy link
Contributor

In Test_openjdk19_j9_sanity.functional_x86-64_windows_Personal, cmdLineTester_jvmtitests_hcr_3 failed due to a timeout in one test: rc021.

@Akira1Saitoh
Copy link
Contributor Author

10x Grinder runs of cmdLineTester_jvmtitests_hcr_3 passed. job/Grinder/30288/
Launched sanity.functional. Still running. job/Grinder/30290/

@Akira1Saitoh
Copy link
Contributor Author

job/Grinder/30290/ passed.

@Akira1Saitoh
Copy link
Contributor Author

Tried 15x Grinder runs of cmdLineTester_jvmtitests_hcr_3. All passed. job/Grinder/30311/

Re-run of failed external Jenkins job also passed.
https://openj9-jenkins.osuosl.org/job/Grinder/1699/

@Akira1Saitoh
Copy link
Contributor Author

Tried sanity.functional on internal Grinder. I was not able to produce the problem so far. There were some infra errors, though.

  • job/Grinder/30330
  • job/Grinder/30340
  • job/Grinder/30344
  • job/Grinder/30349
  • job/Grinder/30351
  • job/Grinder/30383

I also asked @knn-k to launch re-runs of failed external Jenkins job several times. The problem did not occur.

@pshipton
Copy link
Member

Reverted by #16537 due to #16536

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.

None yet

3 participants