-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[InstCombine] Fold shift+cttz with power of 2 operands #127055
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
(llvm#121386) Introduced cttz intrinsics which caused a regression where vscale/vscale divisions could no longer be constant folded. This fold was suggested as a fix in (llvm#126411)
@llvm/pr-subscribers-llvm-transforms Author: Matthew Devereau (MDevereau) Changes#121386 Introduced cttz intrinsics which caused a regression where vscale/vscale divisions could no longer be constant folded. This fold was suggested as a fix in #126411. Full diff: https://github.com/llvm/llvm-project/pull/127055.diff 2 Files Affected:
|
Propagate nowrap flags to new shift Use named values in tests Remove intrinsic declarations
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.
llvm#121386 Introduced cttz intrinsics which caused a regression where vscale/vscale divisions could no longer be constant folded. This fold was suggested as a fix in llvm#126411. https://alive2.llvm.org/ce/z/gWbtPw
See llvm#126411 / llvm#127055, the test isn't expected to fold in a single instcombine iteration, needing instcombine->cse->instcombine.
#121386 Introduced cttz intrinsics which caused a regression where vscale/vscale divisions could no longer be constant folded.
This fold was suggested as a fix in #126411. https://alive2.llvm.org/ce/z/gWbtPw