aboutsummaryrefslogtreecommitdiff
path: root/libclc/amdgcn/lib
diff options
context:
space:
mode:
authorlong.chen <lipracer@gmail.com>2024-10-12 23:25:57 +0800
committerGitHub <noreply@github.com>2024-10-12 11:25:57 -0400
commit51a2f50ee76a52d4a542822bfda9c4c17904b72f (patch)
tree6f7876416c1a5018ac8d0560dfc0caa6226b16c0 /libclc/amdgcn/lib
parentc9a1cffd3d2129ccdda766ef4379dbca1cf6724b (diff)
downloadllvm-main.zip
llvm-main.tar.gz
llvm-main.tar.bz2
[mlir][affine] fix the issue of ceildiv-mul-ceildiv form expression not satisfying commutative (#111254)HEADmain
my prove: we can simple `(n * s) ceildiv a ceildiv s` to `n ceildiv a` because `(n * s) ceildiv a ceildiv b` <=> `(n * s) ceildiv s ceildiv a` <=> `n ceildiv a` let's prove the `s floordiv a floor b` <=> `s floordiv b floor a` let `s = ka +m (m < a)` so `s floordiv a` <=> `s / a - m / a` similarly, it can be proven that: `s floordiv a floordiv b` <=> `s / (a * b) - m / (a * b) - n / (b) constrain (n < b)` <=> `s / (a * b) - (m + a*n) / (a*b)` because `a* b - (m + a*n)` <=> `a*b - a*n - m` > `a - m` > `0` so `s floordiv a floordiv b` <=> `[s / (a*b)]` <=> `s floordiv b floordiv a` but if `s floordiv b` mutiply a factor above didn't always hold true. Fixes https://github.com/llvm/llvm-project/issues/107508
Diffstat (limited to 'libclc/amdgcn/lib')
0 files changed, 0 insertions, 0 deletions