[llvm] Reapply [AMDGPU] prevent shrinking udiv/urem if either operand exceeds signed max (PR #119325)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 10 14:55:09 PST 2024
================
@@ -1220,7 +1236,7 @@ Value *AMDGPUCodeGenPrepareImpl::expandDivRem24(IRBuilder<> &Builder,
// If Num bits <= 24, assume 0 signbits.
unsigned AtLeast = (SSBits <= 24) ? 0 : (SSBits - 24 + IsSigned);
int DivBits = getDivNumBits(I, Num, Den, AtLeast, IsSigned);
- if (DivBits == -1)
+ if (DivBits == -1 || DivBits > 24)
----------------
choikwa wrote:
Looks like sdiv/srem failures are from catching at least one group of cases of valid shrinking where it wasn't before because of early exit from testing for -1. Thanks!
https://github.com/llvm/llvm-project/pull/119325
More information about the llvm-commits
mailing list