Skip to content

Fix missing goto block when adding edges back to the unrolled header - #6693

Merged
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
a7ehuo:fix-loop-unroller-missing-edges
Oct 4, 2022
Merged

Fix missing goto block when adding edges back to the unrolled header#6693
0xdaryl merged 1 commit into
eclipse-omr:masterfrom
a7ehuo:fix-loop-unroller-missing-edges

Conversation

@a7ehuo

@a7ehuo a7ehuo commented Sep 6, 2022

Copy link
Copy Markdown
Contributor

When newTo is different from newFromNextBlock in fall into case, goto block needs to be added besides
of the cfg edges because the newTo block is not the fall through block.

Fixes: eclipse-openj9/openj9#15764

Signed-off-by: Annabelle Huo Annabelle.Huo@ibm.com

@a7ehuo
a7ehuo requested a review from vijaysun-omr as a code owner September 6, 2022 16:51
@a7ehuo
a7ehuo force-pushed the fix-loop-unroller-missing-edges branch 2 times, most recently from b183cc7 to 46a0bb9 Compare September 6, 2022 16:55
@a7ehuo
a7ehuo requested a review from hzongaro September 6, 2022 16:55
@a7ehuo

a7ehuo commented Sep 6, 2022

Copy link
Copy Markdown
Contributor Author

@hzongaro @vijaysun-omr May I ask you to review this change? Thank you!

I'm keeping WIP until the Jenkins test completes. Currently the Jenkins personal build test is broken.

@vijaysun-omr

Copy link
Copy Markdown
Contributor

I feel a more descriptive explanation of the problem and how it is being fixed at a high level may be useful.

@a7ehuo

a7ehuo commented Sep 7, 2022

Copy link
Copy Markdown
Contributor Author

@vijaysun-omr I added more details to the original issue eclipse-openj9/openj9#15764 (comment) using the block that shows the issue as an example with trace logs.

Comment thread compiler/optimizer/GeneralLoopUnroller.cpp Outdated
@a7ehuo a7ehuo changed the title WIP: Fix missing goto block when adding edges back to the unrolled header Fix missing goto block when adding edges back to the unrolled header Sep 9, 2022
@a7ehuo

a7ehuo commented Sep 13, 2022

Copy link
Copy Markdown
Contributor Author

@vijaysun-omr @hzongaro Just following up and see if there are more review comments before I do another push to address the above comment

@hzongaro

Copy link
Copy Markdown
Contributor

Annabelle @a7ehuo, I don't have any additional review comments.

@0xdaryl 0xdaryl self-assigned this Sep 20, 2022
@0xdaryl

0xdaryl commented Sep 20, 2022

Copy link
Copy Markdown
Contributor

@a7ehuo : are there any more pushes coming?

@hzongaro @vijaysun-omr : once Annabelle confirms or pushes final commit can you formally approve your comments?

@a7ehuo

a7ehuo commented Sep 20, 2022

Copy link
Copy Markdown
Contributor Author

are there any more pushes coming?

Yes, I have one more commit to address the above comment. I wasn't sure if @vijaysun-omr would have any further comment. If not, I'll push another commit shortly

When `newTo` is different from `newFromNextBlock` in
fall into case, goto block needs to be added besides
of the cfg edges because the `newTo` block is not the
fall through block.

Fixes: eclipse-openj9/openj9#15764

Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
@a7ehuo
a7ehuo force-pushed the fix-loop-unroller-missing-edges branch from 46a0bb9 to ddc6a80 Compare September 20, 2022 20:13
@a7ehuo

a7ehuo commented Sep 20, 2022

Copy link
Copy Markdown
Contributor Author

@vijaysun-omr @hzongaro Just pushed another commit ddc6a80 to address the comment. Ready for another review. Thanks!

@hzongaro hzongaro left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the changes look good

@a7ehuo

a7ehuo commented Sep 23, 2022

Copy link
Copy Markdown
Contributor Author

I found more information on why eclipse-openj9/openj9#15764 happens so far only on the modified class file. I need more time to assess if this fix is the ideal fix for this bug. Change to WIP status

@a7ehuo a7ehuo changed the title Fix missing goto block when adding edges back to the unrolled header WIP: Fix missing goto block when adding edges back to the unrolled header Sep 23, 2022
@a7ehuo a7ehuo changed the title WIP: Fix missing goto block when adding edges back to the unrolled header Fix missing goto block when adding edges back to the unrolled header Sep 29, 2022
@a7ehuo

a7ehuo commented Sep 29, 2022

Copy link
Copy Markdown
Contributor Author

@vijaysun-omr I added a clarification in the original issue after some offline discussion with @jdmpapin. In short, the issue hits the case where multiple cloned blocks need to jump to the loop entry which is a fall through of the original block. This case is unexpected by addEdgeAndFixEverything and not common in our existing test suites. This change addresses this issue. I've removed WIP from this PR. It's ready for review again. Thanks!

@vijaysun-omr

Copy link
Copy Markdown
Contributor

Thanks for that clarification, it addresses my question of why this is so rare. The rare part is that we have the fall through into loop header and we are cloning the predecessor that is falling through.

@vijaysun-omr

Copy link
Copy Markdown
Contributor

Jenkins build all

@a7ehuo

a7ehuo commented Oct 3, 2022

Copy link
Copy Markdown
Contributor Author

zos_390-64 failed with the following error. It looks like an infrastructure issue

10:46:40   > /u/user1/jenkins-zos/git fetch --tags --progress git@github.com:eclipse/omr.git +refs/pull/6693/merge:refs/remotes/origin/pr/6693/merge # timeout=30
10:42:58  ERROR: Error cloning remote repo 'origin'
10:42:58  hudson.plugins.git.GitException: Command "/u/user1/jenkins-zos/git fetch --tags --progress git@github.com:eclipse/omr.git +refs/pull/6693/merge:refs/remotes/origin/pr/6693/merge" returned status code 128:
10:42:58  stdout: FOTS1370 Host key verification failed.
10:42:58  fatal: Could not read from remote repository.
10:42:58  
10:42:58  Please make sure you have the correct access rights
10:42:58  and the repository exists.
10:42:58  
10:42:58  stderr: 
10:42:58  	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2675)
...
ERROR: Error cloning remote repo 'origin'
Setting status of ddc6a80d57c9c3217909b3a7d862bf191586a595 to FAILURE with url https://ci.eclipse.org/omr/job/PullRequest-zos_390-64/3864/ and message: 'Build finished. '
Using context: continuous-integration/eclipse-omr/pr/zos_390-64
Finished: FAILURE

@a7ehuo

a7ehuo commented Oct 3, 2022

Copy link
Copy Markdown
Contributor Author

jenkins build zos

@a7ehuo

a7ehuo commented Oct 3, 2022

Copy link
Copy Markdown
Contributor Author

@AdamBrousseau The zos has been failing consistently with stdout: FOTS1370 Host key verification failed error.: 3864 and 3866 Could you help take a look?

@a7ehuo

a7ehuo commented Oct 3, 2022

Copy link
Copy Markdown
Contributor Author

The same failure was reported preivously in #6672 (comment) as well

@AdamBrousseau

Copy link
Copy Markdown
Contributor

jenkins build zos

@0xdaryl
0xdaryl merged commit 09cf1c0 into eclipse-omr:master Oct 4, 2022
@a7ehuo
a7ehuo deleted the fix-loop-unroller-missing-edges branch October 12, 2022 00:46
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.

Segmentation Error With jit optlevel hot And Higher

5 participants