LLVM
17.0.0git
|
#include <cstddef>
Go to the source code of this file.
Namespaces | |
llvm | |
This is an optimization pass for GlobalISel generic memory operations. | |
Enumerations | |
enum | llvm::AtomicOrderingCABI { llvm::AtomicOrderingCABI::relaxed = 0, llvm::AtomicOrderingCABI::consume = 1, llvm::AtomicOrderingCABI::acquire = 2, llvm::AtomicOrderingCABI::release = 3, llvm::AtomicOrderingCABI::acq_rel = 4, llvm::AtomicOrderingCABI::seq_cst = 5 } |
Atomic ordering for C11 / C++11's memory models. More... | |
enum | llvm::AtomicOrdering : unsigned { llvm::AtomicOrdering::NotAtomic = 0, llvm::AtomicOrdering::Unordered = 1, llvm::AtomicOrdering::Monotonic = 2, llvm::AtomicOrdering::Acquire = 4, llvm::AtomicOrdering::Release = 5, llvm::AtomicOrdering::AcquireRelease = 6, llvm::AtomicOrdering::SequentiallyConsistent = 7, llvm::AtomicOrdering::LAST = SequentiallyConsistent } |
Atomic ordering for LLVM's memory model. More... | |
Functions | |
bool | llvm::operator< (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
bool | llvm::operator> (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
bool | llvm::operator<= (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
bool | llvm::operator>= (AtomicOrderingCABI, AtomicOrderingCABI)=delete |
template<typename Int > | |
bool | llvm::isValidAtomicOrderingCABI (Int I) |
bool | llvm::operator< (AtomicOrdering, AtomicOrdering)=delete |
bool | llvm::operator> (AtomicOrdering, AtomicOrdering)=delete |
bool | llvm::operator<= (AtomicOrdering, AtomicOrdering)=delete |
bool | llvm::operator>= (AtomicOrdering, AtomicOrdering)=delete |
template<typename Int > | |
bool | llvm::isValidAtomicOrdering (Int I) |
const char * | llvm::toIRString (AtomicOrdering ao) |
String used by LLVM IR to represent atomic ordering. More... | |
bool | llvm::isStrongerThan (AtomicOrdering AO, AtomicOrdering Other) |
Returns true if ao is stronger than other as defined by the AtomicOrdering lattice, which is based on C++'s definition. More... | |
bool | llvm::isAtLeastOrStrongerThan (AtomicOrdering AO, AtomicOrdering Other) |
bool | llvm::isStrongerThanUnordered (AtomicOrdering AO) |
bool | llvm::isStrongerThanMonotonic (AtomicOrdering AO) |
bool | llvm::isAcquireOrStronger (AtomicOrdering AO) |
bool | llvm::isReleaseOrStronger (AtomicOrdering AO) |
AtomicOrdering | llvm::getMergedAtomicOrdering (AtomicOrdering AO, AtomicOrdering Other) |
Return a single atomic ordering that is at least as strong as both the AO and Other orderings for an atomic operation. More... | |
AtomicOrderingCABI | llvm::toCABI (AtomicOrdering AO) |
Atomic ordering constants.
These values are used by LLVM to represent atomic ordering for C++11's memory model and more, as detailed in docs/Atomics.rst.
Definition in file AtomicOrdering.h.