-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[MISched] Compare right next cluster node #116584
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
Ping. This fixes wrong macro fusion result when enabling bottom-up/bi-directional post-ra scheduling. |
Ping. |
Is there any test case that would should this fixing a regression? |
Yeah, like what I have written in the description, macro fusion and load/store clustering will be wrong if using bidirectional or bottom up postra scheduling. I found this issue when trying to enable postra scheduling. Please see https://github.com/llvm/llvm-project/pull/115864/commits, without this fix, you will see the wrong result. |
Can we include a test in this PR that shows how this fixes the behavior that is incorrect prior to this patch? |
Sure, I can add some RUN lines to existing macro fusion tests. |
3a4da00
to
4668368
Compare
Done. You can see the second commit. |
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.
LGTM
To `macro-fusion-lui-addi.ll`. This is the precommit change for #116584.
We support bottom-up and bidirectonal postra scheduling now, but we only compare successive next cluster node as if we are doing topdown scheduling. This makes load/store clustering and macro fusions wrong. This patch makes sure that we can get the right cluster node by the scheduling direction.
4668368
to
6e04cec
Compare
We support bottom-up and bidirectonal postra scheduling now, but we
only compare successive next cluster node as if we are doing topdown
scheduling. This makes load/store clustering and macro fusions wrong.
This patch makes sure that we can get the right cluster node by the
scheduling direction.