Reformat some comments.
So they are less than 100 chars.
This commit is contained in:
parent
5fd16dffdc
commit
1f359405cb
15 changed files with 78 additions and 66 deletions
|
@ -673,11 +673,11 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
|
|||
// for performance. LLVM doesn't seem to care about this, and will happily treat
|
||||
// `!nontemporal` stores as-if they were normal stores (for reordering optimizations
|
||||
// etc) even on x86, despite later lowering them to MOVNT which do *not* behave like
|
||||
// regular stores but require special fences.
|
||||
// So we keep a list of architectures where `!nontemporal` is known to be truly just
|
||||
// a hint, and use regular stores everywhere else.
|
||||
// (In the future, we could alternatively ensure that an sfence gets emitted after a sequence of movnt
|
||||
// before any kind of synchronizing operation. But it's not clear how to do that with LLVM.)
|
||||
// regular stores but require special fences. So we keep a list of architectures
|
||||
// where `!nontemporal` is known to be truly just a hint, and use regular stores
|
||||
// everywhere else. (In the future, we could alternatively ensure that an sfence
|
||||
// gets emitted after a sequence of movnt before any kind of synchronizing
|
||||
// operation. But it's not clear how to do that with LLVM.)
|
||||
// For more context, see <https://github.com/rust-lang/rust/issues/114582> and
|
||||
// <https://github.com/llvm/llvm-project/issues/64521>.
|
||||
const WELL_BEHAVED_NONTEMPORAL_ARCHS: &[&str] =
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue