The modified function was incorrectly (not unnecessarily) ignoring grandchild loops, and this change fixes the bug. In particular, this fixes the handling of the loop { inner, body }. The TODO in the same function is talking about the b1 self loop, which may be "unnecessarily" lost, but that is a different issue.
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I think the change description is missing the point and needs to be rephrased. The modified function was incorrectly (not unnecessarily) ignoring grandchild loops, and this change fixes the bug. In particular, this fixes the handling of the loop { inner, body }. The TODO in the same function is talking about the b1 self loop, which may be "unnecessarily" lost, but that is a different issue.
A possible wording would be: "ensure that loop subtree under child is correctly reconnected to new loop"
Sorry, I'm new here, so I know little about the workflows. I've just updated the title and the summary of this revision. I don't know whether you mean this. And I've noticed there is a build failure on x64 debian. Should I fix this?
It is not enough to edit this revision in Phabricator (i.e., this web interface). You will need to amend the git commit in your worktree, because that's the one you will actually submit.
About the failure, I am not confident enough to say that you can ignore it. It is better if you ask on discourse.
Sorry I missed this earlier. The name of the new test "issue55099.ll" doesn't really convey much information. It should be renamed to something more informative, like "preserve-child-loops.ll"
You don't have to upload a new patch here if you rename that file. Just make sure you rename it in your git commit before you do a "git push" to main branch.
Thanks for your patient and professional review. I think the x64 debian failure is related to my changes. I need to spend some time to fix the issue.