LLVM  4.0.0
Macros | Functions | Variables
HexagonMCTargetDesc.cpp File Reference
#include "Hexagon.h"
#include "HexagonTargetStreamer.h"
#include "MCTargetDesc/HexagonInstPrinter.h"
#include "MCTargetDesc/HexagonMCAsmInfo.h"
#include "MCTargetDesc/HexagonMCELFStreamer.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDwarf.h"
#include "llvm/MC/MCELFStreamer.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/TargetRegistry.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 MCSubtargetInfocreateHexagonMCSubtargetInfo (const Triple &TT, StringRef CPU, StringRef FS)
 
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 *InstPrint, bool IsVerboseAsm)
 
static MCStreamercreateMCStreamer (Triple const &T, MCContext &Context, MCAsmBackend &MAB, raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll)
 
static MCTargetStreamercreateHexagonObjectTargetStreamer (MCStreamer &S, MCSubtargetInfo const &STI)
 
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 StringRef DefaultArch = "hexagonv60"
 

Macro Definition Documentation

#define GET_INSTRINFO_MC_DESC

Definition at line 40 of file HexagonMCTargetDesc.cpp.

#define GET_REGINFO_MC_DESC

Definition at line 46 of file HexagonMCTargetDesc.cpp.

#define GET_SUBTARGETINFO_MC_DESC

Definition at line 43 of file HexagonMCTargetDesc.cpp.

Function Documentation

static MCAsmInfo* createHexagonMCAsmInfo ( const MCRegisterInfo MRI,
const Triple TT 
)
static
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().

static MCRegisterInfo* createHexagonMCRegisterInfo ( const Triple TT)
static

Definition at line 104 of file HexagonMCTargetDesc.cpp.

References X.

Referenced by LLVMInitializeHexagonTargetMC().

static MCSubtargetInfo* createHexagonMCSubtargetInfo ( const Triple TT,
StringRef  CPU,
StringRef  FS 
)
static
static MCTargetStreamer* createHexagonObjectTargetStreamer ( MCStreamer S,
MCSubtargetInfo const STI 
)
static

Definition at line 236 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

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

Definition at line 222 of file HexagonMCTargetDesc.cpp.

Referenced by LLVMInitializeHexagonTargetMC().

static MCStreamer* createMCStreamer ( Triple const T,
MCContext Context,
MCAsmBackend MAB,
raw_pwrite_stream OS,
MCCodeEmitter Emitter,
bool  RelaxAll 
)
static

Definition at line 229 of file HexagonMCTargetDesc.cpp.

References llvm::createHexagonELFStreamer().

Referenced by LLVMInitializeHexagonTargetMC().

static StringRef HexagonGetArchVariant ( )
static
void LLVMInitializeHexagonTargetMC ( )

Variable Documentation

StringRef DefaultArch = "hexagonv60"
static

Definition at line 69 of file HexagonMCTargetDesc.cpp.

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

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

Referenced by HexagonGetArchVariant().

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

Referenced by HexagonGetArchVariant().

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

Referenced by HexagonGetArchVariant().

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

Referenced by HexagonGetArchVariant().