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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Thu Mar 5 08:57:11 PST 2026


  Branch: refs/heads/users/jthackray/acle_pcdphint_arm_atomic_store_with_stshh
  Home:   https://github.com/llvm/llvm-project
  Commit: f097aa6d3eb49acddcee923985c8f8540a1c629f
      https://github.com/llvm/llvm-project/commit/f097aa6d3eb49acddcee923985c8f8540a1c629f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: ae3e176759b6af078619e11e21ee444c583c4944
      https://github.com/llvm/llvm-project/commit/ae3e176759b6af078619e11e21ee444c583c4944
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: a09421d994b5f73578de4d7c47adf90ce03da5bb
      https://github.com/llvm/llvm-project/commit/a09421d994b5f73578de4d7c47adf90ce03da5bb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 82ed27f7ec2137e3a8d334d4d2b3ccd40d37a0f4
      https://github.com/llvm/llvm-project/commit/82ed27f7ec2137e3a8d334d4d2b3ccd40d37a0f4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: d836f72048c4601503a276b7f524276491822172
      https://github.com/llvm/llvm-project/commit/d836f72048c4601503a276b7f524276491822172
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 66db34cec1e1f065c4116eb74448603ad9cb92bb
      https://github.com/llvm/llvm-project/commit/66db34cec1e1f065c4116eb74448603ad9cb92bb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 6a47b569bccc75359c487fbbfee6c0a4369b7edd
      https://github.com/llvm/llvm-project/commit/6a47b569bccc75359c487fbbfee6c0a4369b7edd
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: d528ded7685ceeace5a0ee0a7b7fe15a7d67edeb
      https://github.com/llvm/llvm-project/commit/d528ded7685ceeace5a0ee0a7b7fe15a7d67edeb
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 15bd37dfc47ecc12a0df126124a8f1502ddd0777
      https://github.com/llvm/llvm-project/commit/15bd37dfc47ecc12a0df126124a8f1502ddd0777
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 1b9dccf84d835629392138aec1c907aa2a5a2d8e
      https://github.com/llvm/llvm-project/commit/1b9dccf84d835629392138aec1c907aa2a5a2d8e
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: cfeba39af2e549785134d40b2fbabd2c9601c46f
      https://github.com/llvm/llvm-project/commit/cfeba39af2e549785134d40b2fbabd2c9601c46f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

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

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


  Commit: ea6f66d648910b83b3747bd142e8983a81613eda
      https://github.com/llvm/llvm-project/commit/ea6f66d648910b83b3747bd142e8983a81613eda
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 3c2a3e76093184084b340862e90480bfb6924108
      https://github.com/llvm/llvm-project/commit/3c2a3e76093184084b340862e90480bfb6924108
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 2c29d9c19763d8e63d282602fe78750b994e2f5c
      https://github.com/llvm/llvm-project/commit/2c29d9c19763d8e63d282602fe78750b994e2f5c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: 9ff50844737747d7697dbe2f35defb9c1ab3cb57
      https://github.com/llvm/llvm-project/commit/9ff50844737747d7697dbe2f35defb9c1ab3cb57
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

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

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


  Commit: a38cd7a86f3ffca3b214133abf654d580512d70f
      https://github.com/llvm/llvm-project/commit/a38cd7a86f3ffca3b214133abf654d580512d70f
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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: cd01ed25761fafe1d88040dae0e0635871194506
      https://github.com/llvm/llvm-project/commit/cd01ed25761fafe1d88040dae0e0635871194506
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 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


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

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp

  Log Message:
  -----------
  fixup! More small optimisations Kerry spotted


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

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    R llvm/test/CodeGen/AArch64/pcdphint-atomic-store-diagnostic.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  fixup! Move tests to llvm/test/Verifier


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

  Changed paths:
    M clang/lib/Sema/SemaARM.cpp
    M clang/test/Sema/AArch64/pcdphint-atomic-store.c

  Log Message:
  -----------
  fixup! Ensure Context.getTypeSize() is only called after checking ValType->isIntegerType()


  Commit: 8519b9f5223f503b8b83fd602b628481616e888c
      https://github.com/llvm/llvm-project/commit/8519b9f5223f503b8b83fd602b628481616e888c
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

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

  Log Message:
  -----------
  fixup! Add $policy to MIOperandInfo


  Commit: 3ae285b0ae2c73f8c72b88f03cfae373397ebfe4
      https://github.com/llvm/llvm-project/commit/3ae285b0ae2c73f8c72b88f03cfae373397ebfe4
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
    M clang/lib/Sema/SemaARM.cpp
    M llvm/test/Verifier/AArch64/intrinsic-immarg.ll
    M llvm/test/Verifier/intrinsic-immarg.ll

  Log Message:
  -----------
  fixup! Final changes before merge


Compare: https://github.com/llvm/llvm-project/compare/24fda047f386...3ae285b0ae2c

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