Path: blob/main/contrib/llvm-project/llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h
35294 views
//===- X86TargetStreamer.h ------------------------------*- C++ -*---------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86TARGETSTREAMER_H9#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86TARGETSTREAMER_H1011#include "llvm/MC/MCStreamer.h"1213namespace llvm {1415/// X86 target streamer implementing x86-only assembly directives.16class X86TargetStreamer : public MCTargetStreamer {17public:18X86TargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {}1920virtual bool emitFPOProc(const MCSymbol *ProcSym, unsigned ParamsSize,21SMLoc L = {}) {22return false;23}24virtual bool emitFPOEndPrologue(SMLoc L = {}) { return false; }25virtual bool emitFPOEndProc(SMLoc L = {}) { return false; };26virtual bool emitFPOData(const MCSymbol *ProcSym, SMLoc L = {}) {27return false;28}29virtual bool emitFPOPushReg(unsigned Reg, SMLoc L = {}) { return false; }30virtual bool emitFPOStackAlloc(unsigned StackAlloc, SMLoc L = {}) {31return false;32}33virtual bool emitFPOStackAlign(unsigned Align, SMLoc L = {}) { return false; }34virtual bool emitFPOSetFrame(unsigned Reg, SMLoc L = {}) { return false; }35};3637/// Implements X86-only null emission.38inline MCTargetStreamer *createX86NullTargetStreamer(MCStreamer &S) {39return new X86TargetStreamer(S);40}4142} // end namespace llvm4344#endif454647