LLVM 20.0.0git
Namespaces | Functions
LowerAtomic.h File Reference
#include "llvm/IR/Instructions.h"

Go to the source code of this file.

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Functions

bool llvm::lowerAtomicCmpXchgInst (AtomicCmpXchgInst *CXI)
 Convert the given Cmpxchg into primitive load and compare.
 
std::pair< Value *, Value * > llvm::buildCmpXchgValue (IRBuilderBase &Builder, Value *Ptr, Value *Cmp, Value *Val, Align Alignment)
 Emit IR to implement the given cmpxchg operation on values in registers, returning the new value.
 
bool llvm::lowerAtomicRMWInst (AtomicRMWInst *RMWI)
 Convert the given RMWI into primitive load and stores, assuming that doing so is legal.
 
Valuellvm::buildAtomicRMWValue (AtomicRMWInst::BinOp Op, IRBuilderBase &Builder, Value *Loaded, Value *Val)
 Emit IR to implement the given atomicrmw operation on values in registers, returning the new value.