LLVM 20.0.0git
|
#include "llvm/ADT/STLExtras.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/Support/AtomicOrdering.h"
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Typedefs | |
using | llvm::CreateCmpXchgInstFun = function_ref< void(IRBuilderBase &, Value *, Value *, Value *, Align, AtomicOrdering, SyncScope::ID, Value *&, Value *&, Instruction *)> |
Parameters (see the expansion example below): (the builder, addr, loaded, new_val, ordering, /* OUT / success, / OUT */ new_loaded, MetadataSrc) | |
Functions | |
bool | llvm::expandAtomicRMWToCmpXchg (AtomicRMWInst *AI, CreateCmpXchgInstFun CreateCmpXchg) |
Expand an atomic RMW instruction into a loop utilizing cmpxchg. | |