[PATCH] D104264: Fix atomic loads and stores of 64-bit values in non-default address spaces on ARM

Renato Golin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 22 05:40:25 PDT 2021


rengolin added a comment.

In D104264#2832955 <https://reviews.llvm.org/D104264#2832955>, @theraven wrote:

> The Morello (AArch64 + CHERI) implementation uses AS 200 for capabilities and does different instruction selection for loads and stores (including atomics) depending on the address space.
>
> The back end should never see IR that contains address spaces that don't exist for that back end.  I'd expect that code wanting to use AS1 to indicate GC pointers should rewrite them to AS0 immediately before codegen.

Thanks @theraven, that's what I was thinking.

Regardless of the semantics of the back-end bitcast in question, @koutheir, implementing the GC logic on your side is probably the right solution anyway.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104264/new/

https://reviews.llvm.org/D104264



More information about the llvm-commits mailing list