Displaying 2 results from an estimated 2 matches for "__schedule_barrier_full".
2014 Jun 19
6
[LLVMdev] [RFC] Add compiler scheduling barriers
...nt the compiler from reordering
memory-access instructions as well. The only way to do that in both
GCC and LLVM is using a in-line assembly hack:
asm volatile("" ::: "memory")
I propose adding two compiler scheduling barriers intrinsics to LLVM:
__schedule_barrier_memory and __schedule_barrier_full. The former only
prevents memory-access instructions reordering around the instruction
and the latter stops all. So that __isb, for example, can be
implemented something like:
inline void __isb() {
__schedule_barrier_full();
__builtin_arm_isb();
__schedule_barrier_full();
}
To impl...
2014 Jun 27
3
[LLVMdev] [RFC] Add compiler scheduling barriers
...instructions as well. The only way to do that in both
>> GCC and LLVM is using a in-line assembly hack:
>> asm volatile("" ::: "memory")
>>
>> I propose adding two compiler scheduling barriers intrinsics to LLVM:
>> __schedule_barrier_memory and __schedule_barrier_full. The former only
>> prevents memory-access instructions reordering around the instruction
>> and the latter stops all. So that __isb, for example, can be
>> implemented something like:
>> inline void __isb() {
>> __schedule_barrier_full();
>> __built...