LLVM  14.0.0git
X86TargetStreamer.h
Go to the documentation of this file.
1 //===- X86TargetStreamer.h ------------------------------*- C++ -*---------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86TARGETSTREAMER_H
10 #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86TARGETSTREAMER_H
11 
12 #include "llvm/MC/MCStreamer.h"
13 
14 namespace llvm {
15 
16 /// X86 target streamer implementing x86-only assembly directives.
18 public:
20 
21  virtual bool emitFPOProc(const MCSymbol *ProcSym, unsigned ParamsSize,
22  SMLoc L = {}) = 0;
23  virtual bool emitFPOEndPrologue(SMLoc L = {}) = 0;
24  virtual bool emitFPOEndProc(SMLoc L = {}) = 0;
25  virtual bool emitFPOData(const MCSymbol *ProcSym, SMLoc L = {}) = 0;
26  virtual bool emitFPOPushReg(unsigned Reg, SMLoc L = {}) = 0;
27  virtual bool emitFPOStackAlloc(unsigned StackAlloc, SMLoc L = {}) = 0;
28  virtual bool emitFPOStackAlign(unsigned Align, SMLoc L = {}) = 0;
29  virtual bool emitFPOSetFrame(unsigned Reg, SMLoc L = {}) = 0;
30 };
31 
32 } // end namespace llvm
33 
34 #endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AllocatorList.h:23
Reg
unsigned Reg
Definition: MachineSink.cpp:1558
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition: MCSymbol.h:41
llvm::X86TargetStreamer::emitFPOStackAlign
virtual bool emitFPOStackAlign(unsigned Align, SMLoc L={})=0
llvm::X86TargetStreamer::emitFPOEndProc
virtual bool emitFPOEndProc(SMLoc L={})=0
llvm::MCStreamer
Streaming machine code generation interface.
Definition: MCStreamer.h:199
llvm::SMLoc
Represents a location in source code.
Definition: SMLoc.h:23
llvm::X86TargetStreamer::emitFPOProc
virtual bool emitFPOProc(const MCSymbol *ProcSym, unsigned ParamsSize, SMLoc L={})=0
llvm::X86TargetStreamer::emitFPOPushReg
virtual bool emitFPOPushReg(unsigned Reg, SMLoc L={})=0
llvm::X86TargetStreamer::emitFPOData
virtual bool emitFPOData(const MCSymbol *ProcSym, SMLoc L={})=0
llvm::X86TargetStreamer::emitFPOEndPrologue
virtual bool emitFPOEndPrologue(SMLoc L={})=0
llvm::MCTargetStreamer
Target specific streamer interface.
Definition: MCStreamer.h:91
Align
uint64_t Align
Definition: ELFObjHandler.cpp:83
S
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
Definition: README.txt:210
llvm::X86TargetStreamer::X86TargetStreamer
X86TargetStreamer(MCStreamer &S)
Definition: X86TargetStreamer.h:19
llvm::X86TargetStreamer
X86 target streamer implementing x86-only assembly directives.
Definition: X86TargetStreamer.h:17
llvm::X86TargetStreamer::emitFPOStackAlloc
virtual bool emitFPOStackAlloc(unsigned StackAlloc, SMLoc L={})=0
MCStreamer.h
llvm::X86TargetStreamer::emitFPOSetFrame
virtual bool emitFPOSetFrame(unsigned Reg, SMLoc L={})=0
llvm::ISD::MCSymbol
@ MCSymbol
Definition: ISDOpcodes.h:172