Go to the documentation of this file.
9 #ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64TARGETSTREAMER_H
10 #define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64TARGETSTREAMER_H
15 class AArch64ELFStreamer;
72 std::unique_ptr<AssemblerConstantPools> ConstantPools;
77 AArch64ELFStreamer &getStreamer();
79 void emitInst(
uint32_t Inst)
override;
89 bool InEpilogCFI =
false;
125 void emitARM64WinUnwindCode(
unsigned UnwindCode,
int Reg,
int Offset);
void emitARM64WinCFISaveReg(unsigned Reg, int Offset) override
void emitARM64WinCFIClearUnwoundToCall() override
This is an optimization pass for GlobalISel generic memory operations.
virtual void emitARM64WinCFISaveNext()
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
virtual void emitARM64WinCFISaveRegPX(unsigned Reg, int Offset)
void emitARM64WinCFIAddFP(unsigned Size) override
void emitNoteSection(unsigned Flags)
Callback used to implement the .note.gnu.property section.
virtual void emitARM64WinCFISaveFPLRX(int Offset)
Reg
All possible values of the reg field in the ModR/M byte.
void emitARM64WinCFISaveFRegP(unsigned Reg, int Offset) override
virtual void emitInst(uint32_t Inst)
Callback used to implement the .inst directive.
virtual void emitARM64WinCFISetFP()
virtual void emitARM64WinCFITrapFrame()
void emitARM64WinCFISaveFRegX(unsigned Reg, int Offset) override
virtual void emitARM64WinCFISaveRegP(unsigned Reg, int Offset)
void emitARM64WinCFISaveRegP(unsigned Reg, int Offset) override
void emitARM64WinCFISaveRegX(unsigned Reg, int Offset) override
MCTargetStreamer * createAArch64ObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI)
virtual void emitARM64WinCFISaveReg(unsigned Reg, int Offset)
Streaming machine code generation interface.
AArch64TargetStreamer(MCStreamer &S)
virtual void emitARM64WinCFIAddFP(unsigned Size)
AArch64TargetELFStreamer(MCStreamer &S)
Represents a location in source code.
void emitARM64WinCFIMachineFrame() override
void emitARM64WinCFITrapFrame() override
void emitARM64WinCFISaveR19R20X(int Offset) override
virtual void emitARM64WinCFISaveFPLR(int Offset)
virtual void emitARM64WinCFISaveRegX(unsigned Reg, int Offset)
Target specific streamer interface.
void emitARM64WinCFIEpilogEnd() override
virtual void emitDirectiveVariantPCS(MCSymbol *Symbol)
Callback used to implement the .variant_pcs directive.
virtual void emitARM64WinCFIEpilogEnd()
void emitARM64WinCFISaveFPLR(int Offset) override
void emitARM64WinCFIContext() override
virtual void emitARM64WinCFISaveFReg(unsigned Reg, int Offset)
void emitARM64WinCFIAllocStack(unsigned Size) override
virtual void emitARM64WinCFINop()
virtual void emitARM64WinCFISaveFRegPX(unsigned Reg, int Offset)
void emitARM64WinCFIEpilogStart() override
void emitARM64WinCFINop() override
virtual void emitARM64WinCFISaveLRPair(unsigned Reg, int Offset)
~AArch64TargetStreamer() override
virtual void emitARM64WinCFISaveR19R20X(int Offset)
virtual void emitARM64WinCFIAllocStack(unsigned Size)
add sub stmia L5 ldr r0 bl L_printf $stub Instead of a and a wouldn t it be better to do three moves *Return an aggregate type is even return S
virtual void emitARM64WinCFISaveFRegP(unsigned Reg, int Offset)
virtual void emitARM64WinCFIPrologEnd()
void emitConstantPools() override
virtual void emitARM64WinCFIClearUnwoundToCall()
void emitARM64WinCFISaveNext() override
virtual void emitARM64WinCFISaveFRegX(unsigned Reg, int Offset)
void emitARM64WinCFISaveFPLRX(int Offset) override
const MCExpr * addConstantPoolEntry(const MCExpr *, unsigned Size, SMLoc Loc)
Callback used to implement the ldr= pseudo.
void emitARM64WinCFISaveRegPX(unsigned Reg, int Offset) override
void emitARM64WinCFISaveFReg(unsigned Reg, int Offset) override
AArch64TargetWinCOFFStreamer(llvm::MCStreamer &S)
virtual void emitARM64WinCFIContext()
virtual void emitARM64WinCFIMachineFrame()
void emitARM64WinCFISaveLRPair(unsigned Reg, int Offset) override
virtual void emitARM64WinCFIEpilogStart()
void emitARM64WinCFIPrologEnd() override
void emitARM64WinCFISetFP() override
void emitARM64WinCFISaveFRegPX(unsigned Reg, int Offset) override
Base class for the full range of assembler expressions which are needed for parsing.
void emitCurrentConstantPool()
Callback used to implemnt the .ltorg directive.