#include "LLVMContextImpl.h"
#include "AttributeImpl.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/ADT/StringMapEntry.h"
#include "llvm/ADT/iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/DiagnosticHandler.h"
#include "llvm/IR/LLVMRemarkStreamer.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/OptBisect.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/User.h"
#include "llvm/Remarks/RemarkStreamer.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TypeSize.h"
#include <cassert>
#include <utility>
usingnamespacellvm;
LLVMContextImpl::LLVMContextImpl(LLVMContext &C)
: … { … }
LLVMContextImpl::~LLVMContextImpl() { … }
void LLVMContextImpl::dropTriviallyDeadConstantArrays() { … }
void Module::dropTriviallyDeadConstantArrays() { … }
namespace llvm {
static const Metadata *get_hashable_data(const MDOperand &X) { … }
}
unsigned MDNodeOpsKey::calculateHash(MDNode *N, unsigned Offset) { … }
unsigned MDNodeOpsKey::calculateHash(ArrayRef<Metadata *> Ops) { … }
StringMapEntry<uint32_t> *LLVMContextImpl::getOrInsertBundleTag(StringRef Tag) { … }
void LLVMContextImpl::getOperandBundleTags(SmallVectorImpl<StringRef> &Tags) const { … }
uint32_t LLVMContextImpl::getOperandBundleTagID(StringRef Tag) const { … }
SyncScope::ID LLVMContextImpl::getOrInsertSyncScopeID(StringRef SSN) { … }
void LLVMContextImpl::getSyncScopeNames(
SmallVectorImpl<StringRef> &SSNs) const { … }
std::optional<StringRef>
LLVMContextImpl::getSyncScopeName(SyncScope::ID Id) const { … }
OptPassGate &LLVMContextImpl::getOptPassGate() const { … }
void LLVMContextImpl::setOptPassGate(OptPassGate& OPG) { … }