LLVM
8.0.1
|
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "Hexagon.h"
#include "HexagonDepArch.h"
#include "HexagonTargetStreamer.h"
#include "MCTargetDesc/HexagonInstPrinter.h"
#include "MCTargetDesc/HexagonMCAsmInfo.h"
#include "MCTargetDesc/HexagonMCELFStreamer.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCELFStreamer.h"
#include "llvm/MC/MCInstrAnalysis.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/TargetRegistry.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <cstdint>
#include <new>
#include <string>
#include "HexagonGenInstrInfo.inc"
#include "HexagonGenSubtargetInfo.inc"
#include "HexagonGenRegisterInfo.inc"
Go to the source code of this file.
Macros | |
#define | GET_INSTRINFO_MC_DESC |
#define | GET_SUBTARGETINFO_MC_DESC |
#define | GET_REGINFO_MC_DESC |
Variables | |
cl::opt< Hexagon::ArchEnum > | EnableHVX ("mhvx", cl::desc("Enable Hexagon Vector eXtensions"), cl::values(clEnumValN(Hexagon::ArchEnum::V60, "v60", "Build for HVX v60"), clEnumValN(Hexagon::ArchEnum::V62, "v62", "Build for HVX v62"), clEnumValN(Hexagon::ArchEnum::V65, "v65", "Build for HVX v65"), clEnumValN(Hexagon::ArchEnum::V66, "v66", "Build for HVX v66"), clEnumValN(Hexagon::ArchEnum::Generic, "", "")), cl::init(Hexagon::ArchEnum::NoArch), cl::ValueOptional) |
static cl::opt< bool > | DisableHVX ("mno-hvx", cl::Hidden, cl::desc("Disable Hexagon Vector eXtensions")) |
static StringRef | DefaultArch = "hexagonv60" |
#define GET_INSTRINFO_MC_DESC |
Definition at line 46 of file HexagonMCTargetDesc.cpp.
#define GET_REGINFO_MC_DESC |
Definition at line 52 of file HexagonMCTargetDesc.cpp.
#define GET_SUBTARGETINFO_MC_DESC |
Definition at line 49 of file HexagonMCTargetDesc.cpp.
|
static |
Definition at line 273 of file HexagonMCTargetDesc.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::StringRef::empty(), EnableHVX, llvm::SmallVectorTemplateCommon< T >::end(), llvm::Hexagon::Generic, llvm::MCSubtargetInfo::getFeatureBits(), llvm::join(), llvm::Hexagon::NoArch, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::Hexagon::V5, llvm::Hexagon::V55, llvm::Hexagon::V60, llvm::Hexagon::V62, llvm::Hexagon::V65, and llvm::Hexagon::V66.
|
static |
Definition at line 267 of file HexagonMCTargetDesc.cpp.
References llvm::MCSubtargetInfo::getFeatureBits(), and llvm::MCSubtargetInfo::ToggleFeature().
|
static |
Definition at line 222 of file HexagonMCTargetDesc.cpp.
References llvm::MCAsmInfo::addInitialFrameState(), llvm::MCCFIInstruction::createDefCfa(), and llvm::MCRegisterInfo::getDwarfRegNum().
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 235 of file HexagonMCTargetDesc.cpp.
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 455 of file HexagonMCTargetDesc.cpp.
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 216 of file HexagonMCTargetDesc.cpp.
References X.
|
static |
Definition at line 263 of file HexagonMCTargetDesc.cpp.
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 248 of file HexagonMCTargetDesc.cpp.
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 253 of file HexagonMCTargetDesc.cpp.
References llvm::createHexagonELFStreamer().
Referenced by LLVMInitializeHexagonTargetMC().
|
static |
Definition at line 98 of file HexagonMCTargetDesc.cpp.
Referenced by llvm::Hexagon_MC::selectHexagonCPU().
|
static |
Definition at line 316 of file HexagonMCTargetDesc.cpp.
References llvm::find(), and llvm::Hexagon_MC::selectHexagonCPU().
Referenced by llvm::Hexagon_MC::createHexagonMCSubtargetInfo().
void LLVMInitializeHexagonTargetMC | ( | ) |
Definition at line 460 of file HexagonMCTargetDesc.cpp.
References llvm::createHexagonAsmBackend(), createHexagonMCAsmInfo(), llvm::createHexagonMCCodeEmitter(), createHexagonMCInstPrinter(), createHexagonMCInstrAnalysis(), llvm::createHexagonMCInstrInfo(), llvm::createHexagonMCRegisterInfo(), llvm::Hexagon_MC::createHexagonMCSubtargetInfo(), createHexagonObjectTargetStreamer(), createMCAsmTargetStreamer(), createMCStreamer(), llvm::getTheHexagonTarget(), llvm::TargetRegistry::RegisterAsmTargetStreamer(), llvm::TargetRegistry::RegisterELFStreamer(), llvm::TargetRegistry::RegisterMCAsmBackend(), llvm::TargetRegistry::RegisterMCCodeEmitter(), llvm::TargetRegistry::RegisterMCInstPrinter(), llvm::TargetRegistry::RegisterMCInstrAnalysis(), llvm::TargetRegistry::RegisterMCInstrInfo(), llvm::TargetRegistry::RegisterMCRegInfo(), llvm::TargetRegistry::RegisterMCSubtargetInfo(), llvm::TargetRegistry::RegisterObjectTargetStreamer(), and X.
|
static |
Definition at line 96 of file HexagonMCTargetDesc.cpp.
|
static |
cl::opt<Hexagon::ArchEnum> EnableHVX("mhvx", cl::desc("Enable Hexagon Vector eXtensions"), cl::values( clEnumValN(Hexagon::ArchEnum::V60, "v60", "Build for HVX v60"), clEnumValN(Hexagon::ArchEnum::V62, "v62", "Build for HVX v62"), clEnumValN(Hexagon::ArchEnum::V65, "v65", "Build for HVX v65"), clEnumValN(Hexagon::ArchEnum::V66, "v66", "Build for HVX v66"), clEnumValN(Hexagon::ArchEnum::Generic, "", "")), cl::init(Hexagon::ArchEnum::NoArch), cl::ValueOptional) |
Referenced by checkFeature().