-
Notifications
You must be signed in to change notification settings - Fork 13.6k
[RISCV] Unprofitable select vectorization/lowering #109466
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
Labels
Comments
@llvm/issue-subscribers-backend-risc-v Author: Philip Reames (preames)
This was brought up in discussion on https://github.com//pull/108419. This is the root cause of the reported regression on leela from spec2017 in the LTO configuration.
We are failing to recognize shifts disguised as selects in at least two contexts:
|
preames
added a commit
to preames/llvm-project
that referenced
this issue
Sep 24, 2024
…ares This follows in the spirit of 7d82c99, and extends the costing API for compares and selects to provide information about the operands passed in an analogous manner. This allows us to model the cost of materializing the vector constant, as some select-of-constants are significantly more expensive than others when you account for the cost of materializing the constants involved. Fixes llvm#109466
preames
added a commit
that referenced
this issue
Sep 25, 2024
…ares (#109824) This follows in the spirit of 7d82c99, and extends the costing API for compares and selects to provide information about the operands passed in an analogous manner. This allows us to model the cost of materializing the vector constant, as some select-of-constants are significantly more expensive than others when you account for the cost of materializing the constants involved. This is a stepping stone towards fixing #109466. A separate SLP patch will be required to utilize the new API.
preames
added a commit
to preames/llvm-project
that referenced
this issue
Sep 25, 2024
Depending on the constant, selects with constant arms can have highly varying cost. This adjusts SLP to use the new API introduced in d288574. Fixes llvm#109466.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This was brought up in discussion on #108419. This is the root cause of the reported regression on leela from spec2017 in the LTO configuration.
We are failing to recognize shifts disguised as selects in at least two contexts:
./opt -S example.ll -passes=slp-vectorizer -mtriple=riscv64 -mattr=+v
The text was updated successfully, but these errors were encountered: