Build and insert OldValRes<def> = G_ATOMICRMW_<Opcode> Addr, Val, MMO.
Declared in <llvm/CodeGen/GlobalISel/MachineIRBuilder.h>
MachineInstrBuilder
buildAtomicRMW(
unsigned int Opcode,
DstOp const& OldValRes,
SrcOp const& Addr,
SrcOp const& Val,
MachineMemOperand& MMO);
Atomically read-modify-update the value at Addr with Val. Puts the original value from Addr in OldValRes. The modification is determined by the opcode.
a MachineInstrBuilder for the newly created instruction.
| Name | Description |
|---|---|
| Opcode | Target opcode for the instruction. |
| OldValRes | Destination receiving the previous memory value. |
| Addr | Address operand. |
| Val | Value operand. |
| MMO | Memory operand describing the access. |
OldValRes must be a generic virtual register.Addr must be a generic virtual register with pointer type.OldValRes, and Val must be generic virtual registers of the same type.