[PATCH] D75757: [InstComine] Forego of one-use check in `(X - (X & Y)) --> (X & ~Y)` if Y is a constant

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 6 09:19:08 PST 2020


lebedev.ri created this revision.
lebedev.ri added reviewers: spatel, nikic, dmgreen.
lebedev.ri added a project: LLVM.
Herald added subscribers: zzheng, hiraditya.

This is potentially more friendly for further optimizations,
analysies, e.g.: https://godbolt.org/z/G24anE
Unless there's some canonical pattern i didn't think of this would break apart?


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D75757

Files:
  llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
  llvm/test/Transforms/InstCombine/sub.ll
  llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
  llvm/test/Transforms/LoopUnroll/runtime-unroll-remainder.ll
  llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
  llvm/test/Transforms/PhaseOrdering/reassociate-after-unroll.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D75757.248759.patch
Type: text/x-patch
Size: 7373 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200306/5518ca20/attachment.bin>


More information about the llvm-commits mailing list