compiler barrier
Something that stops the compiler from moving memory accesses across it, without adding any instruction for the processor.
A compiler barrier (asm volatile("" ::: "memory"), std::atomic_signal_fence) prevents the compiler from reordering, merging or caching memory accesses across it but emits no instruction, so it does not constrain hardware reordering.
See also