-
Notifications
You must be signed in to change notification settings - Fork 222
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
remove element_unordered_atomic intrinsics #789
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SGTM. It seems like these are emitted from https://llvm.org/docs/LangRef.html#element-wise-atomic-memory-intrinsics, but if we aren't using that and C++ also has no way to represent these operations, doesn't seem likely that anybody can actually be expecting them to be available.
b4b44c6
to
168dbf0
Compare
Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790
Update `compiler-builtins` to 0.1.152 Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790
Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790
Update `compiler-builtins` to 0.1.152 Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790 try-job: arm-android
Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790
Update `compiler-builtins` to 0.1.152 Includes the following changes related to unordered atomics: * Remove element_unordered_atomic intrinsics [1] * Remove use of `atomic_load_unordered` and undefined behaviour [2] There are a handful of other small changes, but nothing else user-visible. [1]: rust-lang/compiler-builtins#789 [2]: rust-lang/compiler-builtins#790
It is not clear how these "unordered" operations are supposed to fit the memory model. The intrinsics used here are labeled with "DO NOT USE" in the docs. The plan in rust-lang/rfcs#3301 and for C++, as I understand it, is to have "bytewise atomic memcpy" with the usual orderings: SeqCst, Release, Acquire, Relaxed. These "unordered" intrinsics seem to be a dead end.
These intrinsics are also unused as far as I can tell; rust-lang/rust#59155 which planned to use them never landed.
Part of #788.