[all-commits] [llvm/llvm-project] 905e4e: [InstCombine] Implement folds of icmp of UCMP/SCMP...

Poseydon42 via All-commits all-commits at lists.llvm.org
Fri Jun 21 21:23:42 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 905e4ec747f917bb519a8229eb2dbe43743b1b3c
      https://github.com/llvm/llvm-project/commit/905e4ec747f917bb519a8229eb2dbe43743b1b3c
  Author: Poseydon42 <vvmposeydon at gmail.com>
  Date:   2024-06-22 (Sat, 22 Jun 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    A llvm/test/Transforms/InstCombine/scmp.ll
    A llvm/test/Transforms/InstCombine/ucmp.ll

  Log Message:
  -----------
  [InstCombine] Implement folds of icmp of UCMP/SCMP call and a constant (#96118)

This patch handles various cases where an operation of the kind `icmp
(ucmp/scmp x, y), constant` folds to `icmp x, y`. Another patch with
cases where this operation folds to a constant (i.e. dumb cases like
`icmp eq (cmp x, y), 4` should be published in a couple of days.

I wasn't sure what negative tests should be added here, if any are
necessary at all. I'd love to hear your suggestions.

Proofs (ucmp): https://alive2.llvm.org/ce/z/qQ7ihz
Proofs (scmp): https://alive2.llvm.org/ce/z/cipKEn

---------

Co-authored-by: Nikita Popov <github at npopov.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list