[all-commits] [llvm/llvm-project] 5185c5: [InstCombine] add tests for div with common mul op...

Sanjay Patel via All-commits all-commits at lists.llvm.org
Tue Oct 11 06:52:53 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5185c5db0e8966d38ee5c6934f2de1f2f32f6792
      https://github.com/llvm/llvm-project/commit/5185c5db0e8966d38ee5c6934f2de1f2f32f6792
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-10-11 (Tue, 11 Oct 2022)

  Changed paths:
    M llvm/test/Transforms/InstCombine/div.ll

  Log Message:
  -----------
  [InstCombine] add tests for div with common mul operand; NFC


  Commit: 7ec604a317c765552e28626dc85d610f8ca20dc0
      https://github.com/llvm/llvm-project/commit/7ec604a317c765552e28626dc85d610f8ca20dc0
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-10-11 (Tue, 11 Oct 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/div.ll

  Log Message:
  -----------
  [InstCombine] try harder to cancel out mul/div

((Op1 * X) / Y) / Op1 --> X / Y
https://alive2.llvm.org/ce/z/JYxWjA

InstSimplify handles the more basic mul+div pattern with
shared operand, but we don't seem to have any reassociation
folds to handle cases where the common op is further away.

This is a generalization of 9cff4711ac72 and another
transform derived from issue #58137.


Compare: https://github.com/llvm/llvm-project/compare/740741923372...7ec604a317c7


More information about the All-commits mailing list