[all-commits] [llvm/llvm-project] 636672: [AArch64][clang][llvm] Add ACLE `stshh` atomic sto...

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Mon Mar 2 15:02:18 PST 2026


  Branch: refs/heads/users/jthackray/acle_pcdphint_arm_atomic_store_with_stshh
  Home:   https://github.com/llvm/llvm-project
  Commit: 636672b6c4cdb99b280a48726bf53e41d3a8bccf
      https://github.com/llvm/llvm-project/commit/636672b6c4cdb99b280a48726bf53e41d3a8bccf
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    A clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
    A clang/test/Sema/AArch64/pcdphint-atomic-store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp

  Log Message:
  -----------
  [AArch64][clang][llvm] Add ACLE `stshh` atomic store builtin

Add `__arm_atomic_store_with_stshh` implementation as defined
in the ACLE. Validate that the arguments passed are correct, and
lower it to the stshh intrinsic plus an atomic store with the
allowed orderings.

Gate this on FEAT_PCDPHINT so that availability matches
hardware support for the `STSHH` instruction. Use an i64
immediate and side-effect modeling to satisfy tablegen and decoding.


  Commit: 1b235b6911d6c574d8196455c8cd1f037185e779
      https://github.com/llvm/llvm-project/commit/1b235b6911d6c574d8196455c8cd1f037185e779
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td

  Log Message:
  -----------
  fixup!

A few small tidyups


  Commit: da5515bb4ef62388fc94cc9c9d6e20b102cb7ae1
      https://github.com/llvm/llvm-project/commit/da5515bb4ef62388fc94cc9c9d6e20b102cb7ae1
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c

  Log Message:
  -----------
  fixup!

More small issues tidied, and remove gating.


  Commit: 675685ec20bbe79239b2395c8753da99ca5dfddc
      https://github.com/llvm/llvm-project/commit/675685ec20bbe79239b2395c8753da99ca5dfddc
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c
    A llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Improve error diagnostics, and other cleanups


  Commit: 7a9d1c2ead69b3ac6d3aa522b9173e96604eb030
      https://github.com/llvm/llvm-project/commit/7a9d1c2ead69b3ac6d3aa522b9173e96604eb030
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Fix Kerry's CR comments and add negative test for "must be an integer type"


  Commit: 1a94e50f2f4103269585f5fa5c8ab887eaab0a5f
      https://github.com/llvm/llvm-project/commit/1a94e50f2f4103269585f5fa5c8ab887eaab0a5f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Ensure stshh always immediately precedes a store instruction


  Commit: 4705fdeddf9f3a51c993d83781066f45762ab539
      https://github.com/llvm/llvm-project/commit/4705fdeddf9f3a51c993d83781066f45762ab539
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td

  Log Message:
  -----------
  fixup! remove mayLoad/mayStore as suggested by Kerry


  Commit: 4310ee62fed3bb9db6218719a5000dbd2592a76e
      https://github.com/llvm/llvm-project/commit/4310ee62fed3bb9db6218719a5000dbd2592a76e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c

  Log Message:
  -----------
  fixup! Fix issues Kerry raised in PR


  Commit: 8e2ce3ff0c80fde117ca0a3af9d459f99cb1f881
      https://github.com/llvm/llvm-project/commit/8e2ce3ff0c80fde117ca0a3af9d459f99cb1f881
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/builtins-arm64.c
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Fix more PR comments


  Commit: d6f0d1495b4b55e57a7fe9ec99dfa0e93bc09042
      https://github.com/llvm/llvm-project/commit/d6f0d1495b4b55e57a7fe9ec99dfa0e93bc09042
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/Sema/SemaARM.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Address more helpful review comments from Kerry


  Commit: 54a923040a86b6b2e92ff99c5dda3bf48752c53a
      https://github.com/llvm/llvm-project/commit/54a923040a86b6b2e92ff99c5dda3bf48752c53a
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp

  Log Message:
  -----------
  fixup! Fix tests


  Commit: cc85d58c621e0f1005c70fc718386b0bf44362c7
      https://github.com/llvm/llvm-project/commit/cc85d58c621e0f1005c70fc718386b0bf44362c7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/AArch64/pcdphint-atomic-store.c
    M clang/test/CodeGen/arm_acle.c
    M clang/test/CodeGen/builtins-arm64.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrFormats.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`

Move code to `AArch64ExpandPseudoInsts` and `getTgtMemIntrinsic`
and use tablegen pattern for intrinsic, plus other small review changes.


  Commit: 1d37ec3931fc0634cea9c69c64d0808974ed8a5e
      https://github.com/llvm/llvm-project/commit/1d37ec3931fc0634cea9c69c64d0808974ed8a5e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/Sema/SemaARM.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Small fixes Kerry has suggested


  Commit: be0dd197b0000a6401cd77e0d6b85c2bc265bad5
      https://github.com/llvm/llvm-project/commit/be0dd197b0000a6401cd77e0d6b85c2bc265bad5
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll

  Log Message:
  -----------
  fixup! Fixes for Caroline


  Commit: 8b53b60cad66454833337dfc549a66e5360cb704
      https://github.com/llvm/llvm-project/commit/8b53b60cad66454833337dfc549a66e5360cb704
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store.ll

  Log Message:
  -----------
  fixup! Sort out testcases


  Commit: e097c3bbcd7bf8a123593387a53bf0554787eb31
      https://github.com/llvm/llvm-project/commit/e097c3bbcd7bf8a123593387a53bf0554787eb31
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/CodeGen/arm_acle.c
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c

  Log Message:
  -----------
  fixup! More small fixes


  Commit: db95cd9cfa427c1b56dee6e8ceb6c0a6b003deb7
      https://github.com/llvm/llvm-project/commit/db95cd9cfa427c1b56dee6e8ceb6c0a6b003deb7
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-02 (Mon, 02 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Headers/arm_acle.h
    M clang/lib/Sema/SemaARM.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll

  Log Message:
  -----------
  fixup! Address Carol's comments and fix git clang-format issues


Compare: https://github.com/llvm/llvm-project/compare/ed9e8e697f4a...db95cd9cfa42

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