llvm/llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp

//===- MemoryModelRelaxationAnnotations.cpp ---------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#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::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 {}

//===- Helpers ------------------------------------------------------------===//

static bool isReadWriteMemCall(const Instruction &I) {}

bool llvm::canInstructionHaveMMRAs(const Instruction &I) {}