-
Notifications
You must be signed in to change notification settings - Fork 12.2k
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
[Hexagon] Optimize post-increment load and stores in loops. #82418
Conversation
1f7a200
to
fe22e29
Compare
One of the issues that was exposed with this patch is fixed here : #82386 |
2f40a7c
to
52d7dcd
Compare
This patch optimizes the post-increment instructions so that we can packetize them together. v1 = phi(v0, v3') v2,v3 = post_load v1, 4 v2',v3'= post_load v3, 4 This can be optimized in two ways v1 = phi(v0, v3') v2,v3' = post_load v1, 8 v2' = load v1, 4
52d7dcd
to
3247c0e
Compare
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
This appears to have injected a failure in HVX codegen in Halide, e.g.
|
Ping -- this is still broken. Is a fix (or rollback) on the way? Can we assist in some way? |
Hi Steven,
Is there a way you can provide me a test that triggers the run time failure ?
From: Steven Johnson ***@***.***>
Sent: Monday, February 26, 2024 11:53 AM
To: llvm/llvm-project ***@***.***>
Cc: Sumanth Gundapaneni ***@***.***>; State change ***@***.***>
Subject: Re: [llvm/llvm-project] [Hexagon] Optimize post-increment load and stores in loops. (PR #82418)
WARNING: This email originated from outside of Qualcomm. Please be wary of any links or attachments, and do not enable macros.
Ping -- this is still broken. Is a fix (or rollback) on the way? Can we assist in some way?
—
Reply to this email directly, view it on GitHub<#82418 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABP7TI3JLGGXSNMEI2OGTE3YVTDWBAVCNFSM6AAAAABDR4AN5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRUG42TONJQG4>.
You are receiving this because you modified the open/close state.Message ID: ***@***.******@***.***>>
|
Please feel free to revert the change meanwhile. |
I don't have the privileges to revert this, but if you do so I will offer my approval :-) |
The standard Halide tests will repro it when configured for Hexagon; this
is a bit of work to set up, but honestly, testing Hexagon changes against
Halide is probably worth your while anyway, as we have been the first
project to report the last few breakages. See
https://github.com/halide/Halide/blob/main/README.md#halide-for-hexagon-hvx
for details (and please ping me if you have trouble getting it set up).
…On Mon, Feb 26, 2024 at 11:12 AM Sumanth Gundapaneni < ***@***.***> wrote:
Hi Steven,
Is there a way you can provide me a test that triggers the run time
failure ?
From: Steven Johnson ***@***.***>
Sent: Monday, February 26, 2024 11:53 AM
To: llvm/llvm-project ***@***.***>
Cc: Sumanth Gundapaneni ***@***.***>; State change ***@***.***>
Subject: Re: [llvm/llvm-project] [Hexagon] Optimize post-increment load
and stores in loops. (PR #82418)
WARNING: This email originated from outside of Qualcomm. Please be wary of
any links or attachments, and do not enable macros.
Ping -- this is still broken. Is a fix (or rollback) on the way? Can we
assist in some way?
—
Reply to this email directly, view it on GitHub<
#82418 (comment)>,
or unsubscribe<
https://github.com/notifications/unsubscribe-auth/ABP7TI3JLGGXSNMEI2OGTE3YVTDWBAVCNFSM6AAAAABDR4AN5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRUG42TONJQG4>.
You are receiving this because you modified the open/close state.Message
ID: ***@***.******@***.***>>
—
Reply to this email directly, view it on GitHub
<#82418 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACQJ6Y65R4LBL2YC6RY3L3YVTNCPAVCNFSM6AAAAABDR4AN5WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVGAYDKNBRG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
…lvm#82418)" This reverts commit d62ca8d.
#83151 - to revert the change. |
This patch optimizes the post-increment instructions so that we can packetize them together.
v1 = phi(v0, v3')
v2,v3 = post_load v1, 4
v2',v3'= post_load v3, 4
This can be optimized in two ways
v1 = phi(v0, v3')
v2,v3' = post_load v1, 8
v2' = load v1, 4