[PATCH] D140924: [SelectionDAG][GlobalISel] Move even divisor optimization for division by constant into UnsignedDivideUsingMagic implementation. NFC

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 3 13:59:08 PST 2023


craig.topper created this revision.
craig.topper added reviewers: RKSimon, efriedma, spatel, lebedev.ri.
Herald added subscribers: StephenFan, ecnelises, hiraditya.
Herald added a project: All.
craig.topper requested review of this revision.
Herald added a project: LLVM.

I've added a bool to UnsignedDivideUsingMagic so we can continue
testing it in the unit test with and without this optimization in
the unit test.

This is a step towards supporting "uncooperative" odd divisors.
See https://ridiculousfish.com/blog/posts/labor-of-division-episode-iii.html


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D140924

Files:
  llvm/include/llvm/Support/DivisionByConstantInfo.h
  llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
  llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
  llvm/lib/Support/DivisionByConstantInfo.cpp
  llvm/unittests/Support/DivisionByConstantTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140924.486077.patch
Type: text/x-patch
Size: 6489 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230103/6e1173bf/attachment.bin>


More information about the llvm-commits mailing list