-
Notifications
You must be signed in to change notification settings - Fork 13k
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
[InstCombine] Infer exact for lshr by cttz #131444
Comments
Hi! This issue may be a good introductory issue for people new to working on LLVM. If you would like to work on this issue, your first steps are:
If you have any further questions about this issue, don't hesitate to ask via a comment in the thread below. |
@llvm/issue-subscribers-good-first-issue Author: Nikita Popov (nikic)
From https://github.com/rust-lang/rust/issues/138497:
define i8 @<!-- -->src(i8 %x) {
%cttz = call i8 @<!-- -->llvm.cttz.i8(i8 %x, i1 false)
%lshr = lshr i8 %x, %cttz
ret i8 %lshr
}
define i8 @<!-- -->tgt(i8 %x) {
%cttz = call i8 @<!-- -->llvm.cttz.i8(i8 %x, i1 false)
%lshr = lshr exact i8 %x, %cttz
ret i8 %lshr
} https://alive2.llvm.org/ce/z/KFemjy This then allows folding |
Should be able to handle this with an extra special case similar to this one: llvm-project/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp Lines 992 to 996 in 2549517
If you're new to InstCombine development, please take a look at https://llvm.org/docs/InstCombineContributorGuide.html first. |
I would like to work on this! |
Hi @aayush-tripathi , I see you’re assigned to #131444. I’m a new contributor and have a working solution with updated tests ready. Are you currently working on this? If not, I’d like to submit a PR. Happy to coordinate if you’re already on it! |
Hey @houngkoungting ! I am actually currently working on this issue and have made some progress. We can collaborate on this, maybe you could review my PR, I plan to submit one soon. Thanks! |
From rust-lang/rust#138497:
https://alive2.llvm.org/ce/z/KFemjy
This then allows folding
icmp eq %lshr, 0
.The text was updated successfully, but these errors were encountered: