[all-commits] [llvm/llvm-project] 8b8e1a: [SystemZ] Don't lower ATOMIC_LOAD/STORE to LOAD/ST...

Jonas Paulsson via All-commits all-commits at lists.llvm.org
Mon Mar 18 14:22:12 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
      https://github.com/llvm/llvm-project/commit/8b8e1adbdecd5f37ebcaa8d4fdf333962f7a0eb7
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCInstrP10.td
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrFormats.td
    M llvm/lib/Target/SystemZ/SystemZInstrHFP.td
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
    M llvm/lib/Target/SystemZ/SystemZInstrVector.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/SystemZ/SystemZPatterns.td
    M llvm/lib/Target/VE/VEInstrInfo.td
    M llvm/test/CodeGen/SystemZ/atomic-load-06.ll
    A llvm/test/CodeGen/SystemZ/atomic-memops-fp128.ll
    A llvm/test/CodeGen/SystemZ/atomic-memops.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-06.ll

  Log Message:
  -----------
  [SystemZ] Don't lower ATOMIC_LOAD/STORE to LOAD/STORE (#75879)

- Instead of lowering float/double ISD::ATOMIC_LOAD / ISD::ATOMIC_STORE
nodes to regular LOAD/STORE nodes, make them legal and select those nodes
properly instead. This avoids exposing them to the DAGCombiner.

- AtomicExpand pass no longer casts float/double atomic load/stores to integer
  (FP128 is still casted).



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