#include "LlvmState.h"
#include "Target.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCFixup.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include "llvm/TargetParser/Host.h"
namespace llvm {
namespace exegesis {
Expected<LLVMState> LLVMState::Create(std::string TripleName,
std::string CpuName,
const StringRef Features,
bool UseDummyPerfCounters) { … }
LLVMState::LLVMState(std::unique_ptr<const TargetMachine> TM,
const ExegesisTarget *ET, const PfmCountersInfo *PCI)
: … { … }
std::unique_ptr<LLVMTargetMachine> LLVMState::createTargetMachine() const { … }
std::optional<MCRegister>
LLVMState::getRegisterNumberFromName(StringRef RegisterName) const { … }
std::unique_ptr<const DenseMap<StringRef, unsigned>>
LLVMState::createOpcodeNameToOpcodeIdxMapping() const { … }
std::unique_ptr<const DenseMap<StringRef, MCRegister>>
LLVMState::createRegNameToRegNoMapping() const { … }
bool LLVMState::canAssemble(const MCInst &Inst) const { … }
}
}