LLVMReactor: Fix atomic loads and stores of non-scalar types.
The documentation and verifier both say the pointee needs to be a integer, pointer, or floating point type.
It looks like invalid atomic stores may be lowered to __atomic_load / __atomic_store via the AtomicExpandPass, but this comes much later in the transform pipeline, and before the verifier.
Bug: b/131914569
Bug: b/127472316
Change-Id: Ieae5527ca5d65c890251c802baeaca6c5a9eacbb
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/30568
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
Tested-by:
Ben Clayton <bclayton@google.com>
Showing
Please
register
or
sign in
to comment