LLVM  13.0.0git
Namespaces | Typedefs | Functions
AtomicExpandUtils.h File Reference
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Support/AtomicOrdering.h"
Include dependency graph for AtomicExpandUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.




using llvm::CreateCmpXchgInstFun = function_ref< void(IRBuilder<> &, Value *, Value *, Value *, Align, AtomicOrdering, SyncScope::ID, Value *&, Value *&)>
 Parameters (see the expansion example below): (the builder, addr, loaded, new_val, ordering, /* OUT ‍/ success, / OUT *‍/ new_loaded) More...


bool llvm::expandAtomicRMWToCmpXchg (AtomicRMWInst *AI, CreateCmpXchgInstFun CreateCmpXchg)
 Expand an atomic RMW instruction into a loop utilizing cmpxchg. More...