[all-commits] [llvm/llvm-project] 551526: [InstCombine] Fold and of two ranges differing by ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Fri Apr 29 03:01:54 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 5515263e4462b4bf39184f6a0e24964b4519eae4
      https://github.com/llvm/llvm-project/commit/5515263e4462b4bf39184f6a0e24964b4519eae4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-04-29 (Fri, 29 Apr 2022)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/and-or-icmps.ll

  Log Message:
  -----------
  [InstCombine] Fold and of two ranges differing by mask

This is the de Morgan conjugated variant of the existing fold for
ors. Implement this by switching the range code to always work
on ors and perform invert operands at the start and end. This makes
reasoning easier and makes the extension more obviosuly correct.




More information about the All-commits mailing list