[all-commits] [llvm/llvm-project] 84daed: [SelectionDAG][GlobalISel] Move even divisor optim...

Craig Topper via All-commits all-commits at lists.llvm.org
Tue Jan 3 16:38:31 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 84daed7fd4077704b0029c8f24ede2edd6d5a0e4
      https://github.com/llvm/llvm-project/commit/84daed7fd4077704b0029c8f24ede2edd6d5a0e4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-01-03 (Tue, 03 Jan 2023)

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

  Log Message:
  -----------
  [SelectionDAG][GlobalISel] Move even divisor optimization for division by constant into UnsignedDivideUsingMagic implementation. NFC

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

Reviewed By: lebedev.ri

Differential Revision: https://reviews.llvm.org/D140924




More information about the All-commits mailing list