-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Reland "[LLVM] Add IRNormalizer Pass" #113780
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
Conversation
✅ With the latest revision this PR passed the C/C++ code formatter. |
I wasn't able to build and check your branch (
Would you check your changes once again? Probably you need to sync your branch with the UPDATE: @justinfargnoli
|
@vvereschaka I'm unable to reproduce the build failure locally or via the Are the jobs that you're running on the BuildBot clean builds? |
@justinfargnoli in few words the problem is in the broken link order for those two You have rearranged the declarations/definitions for UPDATE: no unexpected test failures with these changes:
|
I believe the failure reported in the original bot is only under expensive checks ( |
This reverts commit f5b7445.
@vvereschaka thank you for your detail description of the issue. I've attempted to address the:
I've verified locally that the expensive checks test failure is resolved. I think I've also verified that the build error is resolved. However, could you double-check on my behalf? |
Thank you @justinfargnoli , |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible/easy to split ef6a751 into a new PR? I think that would make things easier to go through and keep the commit history clean/make it easy to discern the motivation from a git blame.
Certainly, @boomanaiden154! Please see #116108 :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@justinfargnoli ,
I have checked the latest changes locally on the ubuntu expensive builder. They works fine there, thank you. LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The pass invalidation changes look good to me, I didn't look at the rest.
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/64/builds/1464 Here is the relevant piece of the build log for the reference
|
IRNormalizer
will reorder instructions. Thus, we need to invalidate analyses. Done in cd500d2. This should resolve the BuildBot failure.Original PR: #68176
Original commit: 1295d2e
Reverted with: 8a12e01
Add the llvm-canon tool. Description from the original PR:
The current version of this tool can:
This code was originally written by @michalpaszkowski and submitted to mainline LLVM. However, it was quickly reverted to do BuildBot errors.
Michal presented his version of the tool in LLVM-Canon: Shooting for Clear Diffs.
@AidanGoldfarb and I ported the code to the new pass manager, added more tests, and fixed some bugs related to PHI nodes that may have been the root cause of the BuildBot errors that caused the patch to be reverted. Additionally, we rewrote the implementation of instruction reordering to fix cases where the original algorithm would break use-def chains.
Note that this is @AidanGoldfarb and I's first time submitting to LLVM. Please liberally critique the PR!
CC @plotfi for initial review.