#include "llvm/IR/MemoryModelRelaxationAnnotations.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Metadata.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
usingnamespacellvm;
MMRAMetadata::MMRAMetadata(const Instruction &I)
: … { … }
MMRAMetadata::MMRAMetadata(MDNode *MD) { … }
bool MMRAMetadata::isTagMD(const Metadata *MD) { … }
MDTuple *MMRAMetadata::getTagMD(LLVMContext &Ctx, StringRef Prefix,
StringRef Suffix) { … }
MDTuple *MMRAMetadata::getMD(LLVMContext &Ctx,
ArrayRef<MMRAMetadata::TagT> Tags) { … }
MDNode *MMRAMetadata::combine(LLVMContext &Ctx, const MMRAMetadata &A,
const MMRAMetadata &B) { … }
bool MMRAMetadata::hasTag(StringRef Prefix, StringRef Suffix) const { … }
bool MMRAMetadata::isCompatibleWith(const MMRAMetadata &Other) const { … }
bool MMRAMetadata::hasTagWithPrefix(StringRef Prefix) const { … }
MMRAMetadata::const_iterator MMRAMetadata::begin() const { … }
MMRAMetadata::const_iterator MMRAMetadata::end() const { … }
bool MMRAMetadata::empty() const { … }
unsigned MMRAMetadata::size() const { … }
void MMRAMetadata::print(raw_ostream &OS) const { … }
LLVM_DUMP_METHOD
void MMRAMetadata::dump() const { … }
static bool isReadWriteMemCall(const Instruction &I) { … }
bool llvm::canInstructionHaveMMRAs(const Instruction &I) { … }