LLVM  6.0.0svn
Macros | Functions | Variables
HexagonMCTargetDesc.cpp File Reference
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "Hexagon.h"
#include "HexagonTargetStreamer.h"
#include "MCTargetDesc/HexagonInstPrinter.h"
#include "MCTargetDesc/HexagonMCAsmInfo.h"
#include "MCTargetDesc/HexagonMCELFStreamer.h"
#include "MCTargetDesc/HexagonMCInstrInfo.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/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"
Include dependency graph for HexagonMCTargetDesc.cpp:

Go to the source code of this file.

Macros

#define GET_INSTRINFO_MC_DESC
 
#define GET_SUBTARGETINFO_MC_DESC
 
#define GET_REGINFO_MC_DESC
 

Functions

static StringRef HexagonGetArchVariant ()
 
static MCRegisterInfocreateHexagonMCRegisterInfo (const Triple &TT)
 
static MCAsmInfocreateHexagonMCAsmInfo (const MCRegisterInfo &MRI, const Triple &TT)
 
static MCInstPrintercreateHexagonMCInstPrinter (const Triple &T, unsigned SyntaxVariant, const MCAsmInfo &MAI, const MCInstrInfo &MII, const MCRegisterInfo &MRI)
 
static MCTargetStreamercreateMCAsmTargetStreamer (MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *IP, bool IsVerboseAsm)
 
static MCStreamercreateMCStreamer (Triple const &T, MCContext &Context, std::unique_ptr< MCAsmBackend > &&MAB, raw_pwrite_stream &OS, std::unique_ptr< MCCodeEmitter > &&Emitter, bool RelaxAll)
 
static MCTargetStreamercreateHexagonObjectTargetStreamer (MCStreamer &S, const MCSubtargetInfo &STI)
 
static void LLVM_ATTRIBUTE_UNUSED clearFeature (MCSubtargetInfo *STI, uint64_t F)
 
static bool LLVM_ATTRIBUTE_UNUSED checkFeature (MCSubtargetInfo *STI, uint64_t F)
 
static bool isCPUValid (std::string CPU)
 
static MCInstrAnalysiscreateHexagonMCInstrAnalysis (const MCInstrInfo *Info)
 
void LLVMInitializeHexagonTargetMC ()
 

Variables

static cl::opt< boolHexagonV4ArchVariant ("mv4", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V4"))
 
static cl::opt< boolHexagonV5ArchVariant ("mv5", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V5"))
 
static cl::opt< boolHexagonV55ArchVariant ("mv55", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V55"))
 
static cl::opt< boolHexagonV60ArchVariant ("mv60", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V60"))
 
static cl::opt< boolHexagonV62ArchVariant ("mv62", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V62"))
 
static cl::opt< boolEnableHVX ("mhvx", cl::Hidden, cl::init(false), cl::desc("Enable Hexagon Vector Extension (HVX)"))
 
static StringRef DefaultArch = "hexagonv60"
 

Macro Definition Documentation

◆ GET_INSTRINFO_MC_DESC

#define GET_INSTRINFO_MC_DESC

Definition at line 43 of file HexagonMCTargetDesc.cpp.

◆ GET_REGINFO_MC_DESC

#define GET_REGINFO_MC_DESC

Definition at line 49 of file HexagonMCTargetDesc.cpp.

◆ GET_SUBTARGETINFO_MC_DESC

#define GET_SUBTARGETINFO_MC_DESC

Definition at line 46 of file HexagonMCTargetDesc.cpp.

Function Documentation

◆ checkFeature()

static bool LLVM_ATTRIBUTE_UNUSED checkFeature ( MCSubtargetInfo STI,
uint64_t  F 
)
static

Definition at line 249 of file HexagonMCTargetDesc.cpp.

References llvm::MCSubtargetInfo::getFeatureBits().

◆ clearFeature()

static void LLVM_ATTRIBUTE_UNUSED clearFeature ( MCSubtargetInfo STI,
uint64_t  F 
)
static

◆ createHexagonMCAsmInfo()

static MCAsmInfo* createHexagonMCAsmInfo ( const MCRegisterInfo MRI,
const Triple TT 
)
static

◆ createHexagonMCInstPrinter()

static MCInstPrinter* createHexagonMCInstPrinter ( const Triple T,
unsigned  SyntaxVariant,
const MCAsmInfo MAI,
const MCInstrInfo MII,
const MCRegisterInfo MRI 
)
static

Definition at line 211 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

◆ createHexagonMCInstrAnalysis()

static MCInstrAnalysis* createHexagonMCInstrAnalysis ( const MCInstrInfo Info)
static

Definition at line 343 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

◆ createHexagonMCRegisterInfo()

static MCRegisterInfo* createHexagonMCRegisterInfo ( const Triple TT)
static

Definition at line 192 of file HexagonMCTargetDesc.cpp.

References X.

◆ createHexagonObjectTargetStreamer()

static MCTargetStreamer* createHexagonObjectTargetStreamer ( MCStreamer S,
const MCSubtargetInfo STI 
)
static

Definition at line 239 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

◆ createMCAsmTargetStreamer()

static MCTargetStreamer* createMCAsmTargetStreamer ( MCStreamer S,
formatted_raw_ostream OS,
MCInstPrinter IP,
bool  IsVerboseAsm 
)
static

Definition at line 224 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

◆ createMCStreamer()

static MCStreamer* createMCStreamer ( Triple const T,
MCContext Context,
std::unique_ptr< MCAsmBackend > &&  MAB,
raw_pwrite_stream OS,
std::unique_ptr< MCCodeEmitter > &&  Emitter,
bool  RelaxAll 
)
static

Definition at line 229 of file HexagonMCTargetDesc.cpp.

References llvm::createHexagonELFStreamer().

Referenced by LLVMInitializeHexagonTargetMC().

◆ HexagonGetArchVariant()

static StringRef HexagonGetArchVariant ( )
static

◆ isCPUValid()

static bool isCPUValid ( std::string  CPU)
static

Definition at line 265 of file HexagonMCTargetDesc.cpp.

References llvm::find().

Referenced by llvm::Hexagon_MC::createHexagonMCSubtargetInfo().

◆ LLVMInitializeHexagonTargetMC()

void LLVMInitializeHexagonTargetMC ( )

Variable Documentation

◆ DefaultArch

StringRef DefaultArch = "hexagonv60"
static

Definition at line 78 of file HexagonMCTargetDesc.cpp.

◆ EnableHVX

cl::opt<bool> EnableHVX("mhvx", cl::Hidden, cl::init(false), cl::desc("Enable Hexagon Vector Extension (HVX)"))
static

◆ HexagonV4ArchVariant

cl::opt<bool> HexagonV4ArchVariant("mv4", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V4"))
static

Referenced by HexagonGetArchVariant().

◆ HexagonV55ArchVariant

cl::opt<bool> HexagonV55ArchVariant("mv55", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V55"))
static

Referenced by HexagonGetArchVariant().

◆ HexagonV5ArchVariant

cl::opt<bool> HexagonV5ArchVariant("mv5", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V5"))
static

Referenced by HexagonGetArchVariant().

◆ HexagonV60ArchVariant

cl::opt<bool> HexagonV60ArchVariant("mv60", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V60"))
static

Referenced by HexagonGetArchVariant().

◆ HexagonV62ArchVariant

cl::opt<bool> HexagonV62ArchVariant("mv62", cl::Hidden, cl::init(false), cl::desc("Build for Hexagon V62"))
static

Referenced by HexagonGetArchVariant().