[all-commits] [llvm/llvm-project] e9a4b8: [LoongArch] Optimize the atomic store with amswap_...

Gong LingQin via All-commits all-commits at lists.llvm.org
Tue Aug 23 02:14:10 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e9a4b8e39783b90e804a59a3b2d59b332d5c9fa8
      https://github.com/llvm/llvm-project/commit/e9a4b8e39783b90e804a59a3b2d59b332d5c9fa8
  Author: gonglingqin <gonglingqin at loongson.cn>
  Date:   2022-08-23 (Tue, 23 Aug 2022)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/ir-instruction/load-store-atomic.ll
    M llvm/test/Transforms/AtomicExpand/LoongArch/load-store-atomic.ll

  Log Message:
  -----------
  [LoongArch] Optimize the atomic store with amswap_db.[w/d]

When AtomicOrdering is release or stronger, use
    amswap_db.[w/d] $zero, $a1, $a0
instead of
    dbar 0
    st.[w/d] $a0, $a1, 0

Thanks to @xry111 for the suggestion: https://reviews.llvm.org/D128901#3626635

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




More information about the All-commits mailing list