[all-commits] [llvm/llvm-project] 870e6b: [InstCombine] use dyn_cast instead of isa+cast; NFC

Sanjay Patel via All-commits all-commits at lists.llvm.org
Mon Mar 6 10:53:38 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 870e6b6e6527bf8b9f56f1310e30c2d785585d2e
      https://github.com/llvm/llvm-project/commit/870e6b6e6527bf8b9f56f1310e30c2d785585d2e
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2023-03-06 (Mon, 06 Mar 2023)

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

  Log Message:
  -----------
  [InstCombine] use dyn_cast instead of isa+cast; NFC


  Commit: 74a58499b7c0995b782a2f851b8a6c44b2bc5361
      https://github.com/llvm/llvm-project/commit/74a58499b7c0995b782a2f851b8a6c44b2bc5361
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2023-03-06 (Mon, 06 Mar 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/abs-1.ll

  Log Message:
  -----------
  [InstCombine] fold signed absolute diff patterns

This overlaps partially with the codegen patch D144789. This needs no-wrap
for correctness, and I'm not sure if there's an unsigned equivalent:
https://alive2.llvm.org/ce/z/ErmQ-9
https://alive2.llvm.org/ce/z/mr-c_A

This is obviously an improvement in IR, and it looks like a codegen win
for all targets and data types that I sampled.

The 'nabs' case is left as a potential follow-up (and seems less likely
to occur in real code).

Differential Revision: https://reviews.llvm.org/D145073


Compare: https://github.com/llvm/llvm-project/compare/8794712e8877...74a58499b7c0


More information about the All-commits mailing list