[all-commits] [llvm/llvm-project] 894f9e: [AArch64] Optimize more memcmp when the result is ...

Allen via All-commits all-commits at lists.llvm.org
Sat Nov 12 19:06:25 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 894f9e54f59522f57b7a106b0c2f031260964ce8
      https://github.com/llvm/llvm-project/commit/894f9e54f59522f57b7a106b0c2f031260964ce8
  Author: zhongyunde <zhongyunde at huawei.com>
  Date:   2022-11-13 (Sun, 13 Nov 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/bcmp-inline-small.ll
    M llvm/test/CodeGen/AArch64/bcmp.ll

  Log Message:
  -----------
  [AArch64] Optimize more memcmp when the result is tested for [in]equality with 0

We already surpport the or (xor a, b), (xor c, d) with D136244, while it should
capture more cases than just bcmp according the comment on
https://reviews.llvm.org/D136672, so this patch try to fold continuous
comparison series.

Also add a new callsite in LowerSETCC to address some cases folded And in the
stage of `Optimized type-legalized selection`.
Depends on D136244

Reviewed By: dmgreen, bcl5980
Differential Revision: https://reviews.llvm.org/D137721




More information about the All-commits mailing list