LLVM 24.0.0git
AtomicScope.h File Reference
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/TargetParser/Triple.h"
#include <optional>
#include <utility>

Go to the source code of this file.

Namespaces

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

Enumerations

enum class  llvm::AtomicScope : unsigned {
  llvm::System = 0 , llvm::Device = 1 , llvm::Workgroup = 2 , llvm::Wavefront = 3 ,
  llvm::Single = 4 , llvm::Cluster = 5
}
 Target-neutral memory synchronization scopes. More...

Functions

std::optional< StringRefllvm::getAtomicScopeIRString (const Triple &T, AtomicScope S, bool IsSingleAddressSpace=false)
 Returns the LLVM IR syncscope string that T uses to spell S.
std::optional< std::pair< AtomicScope, bool > > llvm::parseAtomicScopeIRString (const Triple &T, StringRef Name)
 Parses a target syncscope string into its abstract scope, the inverse of getAtomicScopeIRString.