[all-commits] [llvm/llvm-project] 29c09c: [InstCombine] match variable names and code commen...

RotateRight via All-commits all-commits at lists.llvm.org
Fri Sep 24 12:45:33 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29c09c76539f6171fa84811e9b4b6d2a244e2d53
      https://github.com/llvm/llvm-project/commit/29c09c76539f6171fa84811e9b4b6d2a244e2d53
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-09-24 (Fri, 24 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp

  Log Message:
  -----------
  [InstCombine] match variable names and code comments; NFC


  Commit: a47c8e40c734429903d4000285ca45a1c3299321
      https://github.com/llvm/llvm-project/commit/a47c8e40c734429903d4000285ca45a1c3299321
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-09-24 (Fri, 24 Sep 2021)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/lshr.ll

  Log Message:
  -----------
  [InstCombine] fold lshr(trunc(lshr X, C1)) C2

Only the multi-use cases are changing here because there's
another fold that catches the simpler patterns.

But that other fold is the source of infinite loops when we
try to add D110170, so removing that is planned as a follow-up.

Attempt to show the general proof in Alive2:
https://alive2.llvm.org/ce/z/Ns1uS2

Note that the overshift fold-to-zero tests are not
currently handled by instsimplify. If they were, we
could assert that the shift amount sum is less than
the source bitwidth.


Compare: https://github.com/llvm/llvm-project/compare/b5bfbb4da252...a47c8e40c734


More information about the All-commits mailing list