Auto merge of #118705 - WaffleLapkin:codegen-atomic-exhange-untuple, r=cjgillot
Change `rustc_codegen_ssa`'s `atomic_cmpxchg` interface to return a pair of values Doesn't change much, but a little nicer that way.
This commit is contained in:
commit
ddca5343f2
4 changed files with 12 additions and 20 deletions
|
@ -1072,7 +1072,7 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
|
|||
order: rustc_codegen_ssa::common::AtomicOrdering,
|
||||
failure_order: rustc_codegen_ssa::common::AtomicOrdering,
|
||||
weak: bool,
|
||||
) -> &'ll Value {
|
||||
) -> (&'ll Value, &'ll Value) {
|
||||
let weak = if weak { llvm::True } else { llvm::False };
|
||||
unsafe {
|
||||
let value = llvm::LLVMBuildAtomicCmpXchg(
|
||||
|
@ -1085,7 +1085,9 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
|
|||
llvm::False, // SingleThreaded
|
||||
);
|
||||
llvm::LLVMSetWeak(value, weak);
|
||||
value
|
||||
let val = self.extract_value(value, 0);
|
||||
let success = self.extract_value(value, 1);
|
||||
(val, success)
|
||||
}
|
||||
}
|
||||
fn atomic_rmw(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue