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

Jonathan Thackray via All-commits all-commits at lists.llvm.org
Thu Mar 5 03:10:49 PST 2026


  Branch: refs/heads/users/jthackray/acle_pcdphint_arm_atomic_store_with_stshh
  Home:   https://github.com/llvm/llvm-project
  Commit: 99503b4998ce13eb9e5fb909bd83167d7079f7b8
      https://github.com/llvm/llvm-project/commit/99503b4998ce13eb9e5fb909bd83167d7079f7b8
  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: 0448b684b2172223d7cbd2b47ba1b172db821b39
      https://github.com/llvm/llvm-project/commit/0448b684b2172223d7cbd2b47ba1b172db821b39
  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: f10b92cd907a0590192cc23ff6578747d790df74
      https://github.com/llvm/llvm-project/commit/f10b92cd907a0590192cc23ff6578747d790df74
  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: 4e1742004f792e11f7d5bf8c35a4bca6518ba4a7
      https://github.com/llvm/llvm-project/commit/4e1742004f792e11f7d5bf8c35a4bca6518ba4a7
  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: c6936d3ca22fef406d5ed0fb3345e5fbf1b02213
      https://github.com/llvm/llvm-project/commit/c6936d3ca22fef406d5ed0fb3345e5fbf1b02213
  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: 9d64d9b41b824655f92e6a2185a3ce7b8ba76a8b
      https://github.com/llvm/llvm-project/commit/9d64d9b41b824655f92e6a2185a3ce7b8ba76a8b
  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: 3fdec7b47806f14a92bcf01ca193431caf23136c
      https://github.com/llvm/llvm-project/commit/3fdec7b47806f14a92bcf01ca193431caf23136c
  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: 07ad84fee755e18848f0df5b82fc7527acf16425
      https://github.com/llvm/llvm-project/commit/07ad84fee755e18848f0df5b82fc7527acf16425
  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: 4c5f9d10cf001a7b56b904f59b835dc5198f311b
      https://github.com/llvm/llvm-project/commit/4c5f9d10cf001a7b56b904f59b835dc5198f311b
  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: efe4d38cca31d7c39d9eaa1a5b98abaef6abf2db
      https://github.com/llvm/llvm-project/commit/efe4d38cca31d7c39d9eaa1a5b98abaef6abf2db
  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: 9b4d19a76b988975110789e11492d0640153a99b
      https://github.com/llvm/llvm-project/commit/9b4d19a76b988975110789e11492d0640153a99b
  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: dcc9d274ed788380d750610b78b7f8f08fe4acfb
      https://github.com/llvm/llvm-project/commit/dcc9d274ed788380d750610b78b7f8f08fe4acfb
  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: 6fddcf1a3088cbb7ce969b66cce4a9cb90779d37
      https://github.com/llvm/llvm-project/commit/6fddcf1a3088cbb7ce969b66cce4a9cb90779d37
  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: f952558f7dfa82436f311248c92ab219c9f62b0f
      https://github.com/llvm/llvm-project/commit/f952558f7dfa82436f311248c92ab219c9f62b0f
  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: 29af486808a70d9063739fdd6dd994b0585c8bc5
      https://github.com/llvm/llvm-project/commit/29af486808a70d9063739fdd6dd994b0585c8bc5
  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: 100cff3da64f72b40a31aed0cbfd0014234c3862
      https://github.com/llvm/llvm-project/commit/100cff3da64f72b40a31aed0cbfd0014234c3862
  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: eccbf0731462c4b15e8c576de8fd1892f956ab87
      https://github.com/llvm/llvm-project/commit/eccbf0731462c4b15e8c576de8fd1892f956ab87
  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: ffcf6d9571d3e632ffcfeffb531535ac7dab9a3b
      https://github.com/llvm/llvm-project/commit/ffcf6d9571d3e632ffcfeffb531535ac7dab9a3b
  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: 7d69af5696e1c443599e1600d5522358ea67ef7d
      https://github.com/llvm/llvm-project/commit/7d69af5696e1c443599e1600d5522358ea67ef7d
  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: b6a65fc37e85ef9b1912ccfa378e094fa0989d6e
      https://github.com/llvm/llvm-project/commit/b6a65fc37e85ef9b1912ccfa378e094fa0989d6e
  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: da87137be7cf504f93e4f46dc2d92bb795d2b6fc
      https://github.com/llvm/llvm-project/commit/da87137be7cf504f93e4f46dc2d92bb795d2b6fc
  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


Compare: https://github.com/llvm/llvm-project/compare/50e3cc096ea7...da87137be7cf

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