Skip to content

Conversation

@nnethercote
Copy link
Collaborator

@nnethercote
Copy link
Collaborator Author

This doesn't work because rust-lang/rust#144192 changed the signature of atomic_rmw and I don't know how to update it appropriately. As written the code fails with an assertion. @FractalFir, it looks like you wrote the atomics code, do you know what to do here? The GCC and LLVM backends look a bit different to the CUDA backend so I can't just copy what they are doing.

@nnethercote
Copy link
Collaborator Author

Thanks for the help! I will try to translate your words into the relevant code.

- `CoverageInfoBuilderMethods::init_coverage` was removed.
- The `ret_ptr` argument was added to `BuilderMethods::atomic_rmw`, see
  rust-lang/rust#144192.
@nnethercote
Copy link
Collaborator Author

I have made some progress. I have plausible code for atomic_load/atomic_store and semi-plausible code for atomic_rmw. cargo compiletest succeeds. And cargo build succeeds if I exclude a couple more examples (vecadd, gemm, sha2_crates_io). If I don't exclude those, I get this assertion failure:

  thread 'rustc' (6519) panicked at /github/home/.rustup/toolchains/nightly-2025-08-11-x86_64-unknown-linux-gnu/lib/rustlib/rustc-src/rust/compiler/rustc_codegen_ssa/src/mir/operand.rs:349:25:
  assertion `left == right` failed
    left: Size(16 bytes)
   right: Size(8 bytes)

I'm not even sure if this is related to the atomic_rmw change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants