LLVM: lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVELFSTREAMER_H

10#define LLVM_LIB_TARGET_RISCV_MCTARGETDESC_RISCVELFSTREAMER_H

11

14

15namespace llvm {

16

18 void reset() override;

19 void emitDataMappingSymbol();

20 void emitInstructionsMappingSymbol();

21 void emitMappingSymbol(StringRef Name);

22

23 enum ElfMappingSymbol { EMS_None, EMS_Instructions, EMS_Data };

24

26 ElfMappingSymbol LastEMS = EMS_None;

27

28public:

30 std::unique_ptr MOW,

31 std::unique_ptr MCE);

32

38};

39

41private:

43

44 MCSection *AttributeSection = nullptr;

45

46 void emitAttribute(unsigned Attribute, unsigned Value) override;

48 void emitIntTextAttribute(unsigned Attribute, unsigned IntValue,

51

52 void reset() override;

53

54public:

57

69

70 void finish() override;

71};

72

74 std::unique_ptr &&MAB,

75 std::unique_ptr &&MOW,

76 std::unique_ptr &&MCE);

77}

78

79#endif

Functions, function parameters, and return types can have attributes to indicate how they should be t...

Context object for machine code objects.

void reset() override

state management

MCELFStreamer(MCContext &Context, std::unique_ptr< MCAsmBackend > TAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter)

Base class for the full range of assembler expressions which are needed for parsing.

Instances of this class represent a single low-level machine instruction.

Instances of this class represent a uniqued identifier for a section in the current translation unit.

Streaming machine code generation interface.

Generic base class for all target subtargets.

MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...

Definition RISCVELFStreamer.h:17

void changeSection(MCSection *Section, uint32_t Subsection) override

This is called by popSection and switchSection, if the current section changes.

void emitBytes(StringRef Data) override

Emit the bytes in Data into the output.

RISCVELFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > MOW, std::unique_ptr< MCCodeEmitter > MCE)

void emitInstruction(const MCInst &Inst, const MCSubtargetInfo &STI) override

Emit the given Instruction into the current section.

void emitFill(const MCExpr &NumBytes, uint64_t FillValue, SMLoc Loc) override

Emit Size bytes worth of the value specified by FillValue.

void emitValueImpl(const MCExpr *Value, unsigned Size, SMLoc Loc) override

Emit the expression Value into the output as a native integer of the given Size bytes.

void emitDirectiveOptionExact() override

void emitDirectiveOptionPop() override

void emitDirectiveOptionPush() override

void emitDirectiveOptionNoPIC() override

void emitDirectiveOptionNoRVC() override

void emitDirectiveOptionNoExact() override

RISCVTargetELFStreamer(MCStreamer &S, const MCSubtargetInfo &STI)

void emitDirectiveVariantCC(MCSymbol &Symbol) override

void emitDirectiveOptionRelax() override

RISCVELFStreamer & getStreamer()

void emitDirectiveOptionNoRelax() override

void emitDirectiveOptionPIC() override

void emitDirectiveOptionRVC() override

RISCVTargetStreamer(MCStreamer &S)

virtual void finishAttributeSection()

Represents a location in source code.

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

Triple - Helper class for working with autoconf configuration names.

LLVM Value Representation.

@ C

The default llvm calling convention, compatible with C.

This is an optimization pass for GlobalISel generic memory operations.

MCStreamer * createRISCVELFStreamer(const Triple &, MCContext &C, std::unique_ptr< MCAsmBackend > &&MAB, std::unique_ptr< MCObjectWriter > &&MOW, std::unique_ptr< MCCodeEmitter > &&MCE)

FunctionAddr VTableAddr uintptr_t uintptr_t Data