[all-commits] [llvm/llvm-project] 6c1a58: [InstCombine] add multi-use tests for shl folds; NFC

RotateRight via All-commits all-commits at lists.llvm.org
Tue Sep 28 14:12:48 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c1a58fe51bc41e28371132380ccd4a8cd2e3e11
      https://github.com/llvm/llvm-project/commit/6c1a58fe51bc41e28371132380ccd4a8cd2e3e11
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-09-28 (Tue, 28 Sep 2021)

  Changed paths:
    M llvm/test/Transforms/InstCombine/shl-bo.ll

  Log Message:
  -----------
  [InstCombine] add multi-use tests for shl folds; NFC


  Commit: 98fde3489a6d9ed3fa409623036e5ba5b99f1404
      https://github.com/llvm/llvm-project/commit/98fde3489a6d9ed3fa409623036e5ba5b99f1404
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-09-28 (Tue, 28 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/shl-bo.ll

  Log Message:
  -----------
  [InstCombine] reduce redundant code for shl-binop folds

This is NFCI (no-functional-change-intended), but there
are benign diffs possible with commutable ops as seen in
the test diffs.

The transforms were repeated for the commutative opcodes,
but that should not be necessary if we canonicalize the
patterns that we're matching. If both operands of the
binop match, that should get folded eventually.

The transform that starts with a mask op seems to
over-constrain the use checks, so that could be a
potential enhancement.


Compare: https://github.com/llvm/llvm-project/compare/595c418ad6a1...98fde3489a6d


More information about the All-commits mailing list