efriedma-quic wrote:

Just thought of this, but... we can't do this in the case where we do a 
libcall.  Any load or store between the load exclusive and the store exclusive 
could break the reservation.  (It normally won't, but it can in weird cases 
where the atomic variable is on the stack.)  So we have to use cmpxchg lowering 
in those cases (and then expand the cmpxchg to ll/sc).

The cases we can do inline should be fine, though.

https://github.com/llvm/llvm-project/pull/103702
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to