[all-commits] [llvm/llvm-project] 2b0dad: [builtins][AArch64] Implement _sync out-of-line at...

Sam James via All-commits all-commits at lists.llvm.org
Mon Sep 11 00:08:14 PDT 2023


  Branch: refs/heads/release/17.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b0dad911dfde815f746c665f194e9b028d446b0
      https://github.com/llvm/llvm-project/commit/2b0dad911dfde815f746c665f194e9b028d446b0
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/lib/builtins/aarch64/lse.S

  Log Message:
  -----------
  [builtins][AArch64] Implement _sync out-of-line atomics

Whilst Clang does not use these, recent GCC does, and so on systems such
as FreeBSD that wish to use compiler-rt as the system runtime library
but also wish to support building programs with GCC these interfaces are
needed.

This is a light adaptation of the code committed to GCC by Sebastian Pop
<spop at amazon.com>, relicensed with permission for use in compiler-rt.

Fixes https://github.com/llvm/llvm-project/issues/63483

Reviewed By: sebpop, MaskRay

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

(cherry picked from commit 4bb2416d42eb593c44bbeb765e1b8641a58f853c)


  Commit: 0176e8729ea4a2cff1ec6689c7620a9f37ce9904
      https://github.com/llvm/llvm-project/commit/0176e8729ea4a2cff1ec6689c7620a9f37ce9904
  Author: Sam James <sam at gentoo.org>
  Date:   2023-09-11 (Mon, 11 Sep 2023)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterTest.cpp

  Log Message:
  -----------
  [Clang] Fix JIT test on 32-bit systems

As reported by mgorny at https://reviews.llvm.org/D159115#4638037, the
unsigned long long cast fails on 32-bit systems at least with GCC.

It looks like a pointer provenance/aliasing issue rather than a bug in GCC.

Acked by Vassil Vassilev on the original revision.

(cherry picked from commit 3403686b72507e3fdbcd69f21fb9235ffa0ca169)


Compare: https://github.com/llvm/llvm-project/compare/5de88ff683ff...0176e8729ea4


More information about the All-commits mailing list