LLVM: lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

28

29using namespace llvm;

30

31#define GET_INSTRINFO_MC_DESC

32#define ENABLE_INSTR_PREDICATE_VERIFIER

33#include "XCoreGenInstrInfo.inc"

34

35#define GET_SUBTARGETINFO_MC_DESC

36#include "XCoreGenSubtargetInfo.inc"

37

38#define GET_REGINFO_MC_DESC

39#include "XCoreGenRegisterInfo.inc"

40

43 InitXCoreMCInstrInfo(X);

44 return X;

45}

46

49 InitXCoreMCRegisterInfo(X, XCore::LR);

50 return X;

51}

52

55 return createXCoreMCSubtargetInfoImpl(TT, CPU, CPU, FS);

56}

57

62

63

66

67 return MAI;

68}

69

71 unsigned SyntaxVariant,

76}

77

79

81

82namespace {

83

86

87public:

89

90 void emitCCTopData(StringRef Name) override;

91 void emitCCTopFunction(StringRef Name) override;

92 void emitCCBottomData(StringRef Name) override;

93 void emitCCBottomFunction(StringRef Name) override;

94};

95

96}

97

98XCoreTargetAsmStreamer::XCoreTargetAsmStreamer(MCStreamer &S,

101

102void XCoreTargetAsmStreamer::emitCCTopData(StringRef Name) {

103 OS << "\t.cc_top " << Name << ".data," << Name << '\n';

104}

105

106void XCoreTargetAsmStreamer::emitCCTopFunction(StringRef Name) {

107 OS << "\t.cc_top " << Name << ".function," << Name << '\n';

108}

109

110void XCoreTargetAsmStreamer::emitCCBottomData(StringRef Name) {

111 OS << "\t.cc_bottom " << Name << ".data\n";

112}

113

114void XCoreTargetAsmStreamer::emitCCBottomFunction(StringRef Name) {

115 OS << "\t.cc_bottom " << Name << ".function\n";

116}

117

121 return new XCoreTargetAsmStreamer(S, OS);

122}

123

127

128

131

133

134

137

138

141

142

145

146

149

152

155}

unsigned const MachineRegisterInfo * MRI

static MCTargetStreamer * createTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS, MCInstPrinter *InstPrint)

#define LLVM_EXTERNAL_VISIBILITY

static MCTargetStreamer * createNullTargetStreamer(MCStreamer &S)

static TableGen::Emitter::OptClass< SkeletonEmitter > X("gen-skeleton-class", "Generate example skeleton class")

This file contains the declaration of the XCoreInstPrinter class, which is used to print XCore MCInst...

LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeXCoreTargetMC()

Definition XCoreMCTargetDesc.cpp:130

static MCSubtargetInfo * createXCoreMCSubtargetInfo(const Triple &TT, StringRef CPU, StringRef FS)

Definition XCoreMCTargetDesc.cpp:54

static MCAsmInfo * createXCoreMCAsmInfo(const MCRegisterInfo &MRI, const Triple &TT, const MCTargetOptions &Options)

Definition XCoreMCTargetDesc.cpp:58

static MCInstrInfo * createXCoreMCInstrInfo()

Definition XCoreMCTargetDesc.cpp:41

static MCRegisterInfo * createXCoreMCRegisterInfo(const Triple &TT)

Definition XCoreMCTargetDesc.cpp:47

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

Definition XCoreMCTargetDesc.cpp:70

This class is intended to be used as a base class for asm properties and features specific to the tar...

void addInitialFrameState(const MCCFIInstruction &Inst)

static MCCFIInstruction cfiDefCfa(MCSymbol *L, unsigned Register, int64_t Offset, SMLoc Loc={})

.cfi_def_cfa defines a rule for computing CFA as: take address from Register and add Offset to it.

This is an instance of a target assembly language printer that converts an MCInst to valid target ass...

Interface to description of machine instruction set.

MCRegisterInfo base class - We assume that the target defines a static array of MCRegisterDesc object...

Streaming machine code generation interface.

Generic base class for all target subtargets.

Target specific streamer interface.

MCTargetStreamer(MCStreamer &S)

StringRef - Represent a constant reference to a string, i.e.

Triple - Helper class for working with autoconf configuration names.

XCoreTargetStreamer(MCStreamer &S)

Definition XCoreMCTargetDesc.cpp:78

~XCoreTargetStreamer() override

formatted_raw_ostream - A raw_ostream that wraps another one and keeps track of line and column posit...

This is an optimization pass for GlobalISel generic memory operations.

Target & getTheXCoreTarget()

RegisterMCAsmInfoFn - Helper template for registering a target assembly info implementation.

static void RegisterMCRegInfo(Target &T, Target::MCRegInfoCtorFnTy Fn)

RegisterMCRegInfo - Register a MCRegisterInfo implementation for the given target.

static void RegisterMCSubtargetInfo(Target &T, Target::MCSubtargetInfoCtorFnTy Fn)

RegisterMCSubtargetInfo - Register a MCSubtargetInfo implementation for the given target.

static void RegisterNullTargetStreamer(Target &T, Target::NullTargetStreamerCtorTy Fn)

static void RegisterMCInstPrinter(Target &T, Target::MCInstPrinterCtorTy Fn)

RegisterMCInstPrinter - Register a MCInstPrinter implementation for the given target.

static void RegisterMCInstrInfo(Target &T, Target::MCInstrInfoCtorFnTy Fn)

RegisterMCInstrInfo - Register a MCInstrInfo implementation for the given target.

static void RegisterAsmTargetStreamer(Target &T, Target::AsmTargetStreamerCtorTy Fn)