[all-commits] [llvm/llvm-project] c59ea3: [InstCombine] Canonicalize `icmp pred (X +/- C1), ...

Yingwei Zheng via All-commits all-commits at lists.llvm.org
Sat Dec 16 01:59:18 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c59ea32f82128f550b471ed96b7ac093ff448c60
      https://github.com/llvm/llvm-project/commit/c59ea32f82128f550b471ed96b7ac093ff448c60
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    A llvm/test/Transforms/InstCombine/canonicalize-or-with-overflow-icmp.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `icmp pred (X +/- C1), C2` into `icmp pred  X, C2 -/+ C1` with nowrap flag implied by with.overflow intrinsic (#75511)

This patch tries to canonicalize the pattern `Overflow | icmp pred Res,
C2` into `Overflow | icmp pred X, C2 +/- C1`, where `Overflow` and `Res`
are return values of `xxx.with.overflow X, C1`.
Alive2: https://alive2.llvm.org/ce/z/PhR_3S

Fixes #75360.




More information about the All-commits mailing list