LLVM Chapter 10 reductions

No strong scalar x86_64 bug-report candidate was found in this pass.

What was checked:

  • sdiv by small positive constants
  • udiv by small positive constants
  • srem/urem by constants
  • quotient/remainder pairs by the same constant
  • several even divisors
  • several odd divisors
  • negative signed divisors

Observed result:

  • Current-head LLVM consistently lowered these to shifts, biased shifts, and magic-multiply sequences.
  • No cases in this sweep fell back to div/idiv.
  • No obvious missed combine stood out as clearly suboptimal on x86_64.