[llvm] AtomicExpand: Fix creating invalid ptrmask for fat pointers (PR #94955)
Jessica Clarke via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 10 08:32:05 PDT 2024
jrtc27 wrote:
> Right, but `ptr addrspace(7)` isn't a fat pointer in the CHERI `[context] (+) [address]` style. The point is to track the offset to a `ptr addrspace(8)` (aka `V#`), which has a base address in its lower 48 bits ... but the hardware doesn't want you operating on that address. You're supposed to construct a 32-bit offset instead, which is entirely separate (for one thing, a V# must be wave-uniform, the offst doesn't need to be).
I can’t speak for AMDGPU specifics, just that this code change is correct with respect to LangRef, and that LangRef’s model works for CHERI’s far pointers.
https://github.com/llvm/llvm-project/pull/94955
More information about the llvm-commits
mailing list