search for: d84225

Displaying 2 results from an estimated 2 matches for "d84225".

Did you mean: d81225
2020 Jul 28
2
_mm_lfence in both pathes of an if/else are hoisted by SimplfyCFG potentially breaking use as a speculation barrier
...t;lfence"); bar(); } else { __asm__ __volatile ("lfence"); baz(); } } I believe the [[clang::nomerge]] attribute was recently extended to inline assembly which can be used to prevent the inline assembly from being hoisted by SimplifyCFG https://reviews.llvm.org/D84225 It also appears to work for intrinsic version, but I think its limited to C++ only. Is there some existing property we can put on the intrinsic to prevent SimplifyCFG from hoisting like this? Are we more aggressive than we should be about hoisting inline assembly? Thanks, ~Craig --------------...
2020 Aug 09
2
_mm_lfence in both pathes of an if/else are hoisted by SimplfyCFG potentially breaking use as a speculation barrier
...asm__ __volatile ("lfence"); > > baz(); > > } > > } > > > > I believe the [[clang::nomerge]] attribute was recently extended to inline assembly which can be used to prevent the inline assembly from being hoisted by SimplifyCFG https://reviews.llvm.org/D84225 It also appears to work for intrinsic version, but I think its limited to C++ only. > > > > Is there some existing property we can put on the intrinsic to prevent SimplifyCFG from hoisting like this? Are we more aggressive than we should be about hoisting inline assembly? > > &...