[PATCH] D141129: [InstCombine] Use KnownBits for lshr/add -> (a + b < a)

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 2 01:04:10 PST 2023


Pierre-vh updated this revision to Diff 501786.
Pierre-vh added a comment.

We don't use uaddo but rather (a + b) < b. The intention is indeed to:

- Positively interact with other transforms
- Get a better canonical form that's more easily recognizable by backends (end goal being to solve https://github.com/RadeonOpenCompute/ROCm/issues/488)

Initially we were using uaddo but it was decided to not have an intrinsic as a canonical form - I don't remember exactly why.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141129/new/

https://reviews.llvm.org/D141129

Files:
  llvm/include/llvm/Analysis/ValueTracking.h
  llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
  llvm/lib/Analysis/ValueTracking.cpp
  llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
  llvm/test/Transforms/InstCombine/shift-add.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141129.501786.patch
Type: text/x-patch
Size: 7003 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230302/2d90de40/attachment.bin>


More information about the llvm-commits mailing list