brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · bd9954f Raw
51 lines · c
1//===-- SparcTargetStreamer.h - Sparc Target Streamer ----------*- 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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCTARGETSTREAMER_H10#define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCTARGETSTREAMER_H11 12#include "llvm/MC/MCELFStreamer.h"13#include "llvm/MC/MCStreamer.h"14 15namespace llvm {16 17class formatted_raw_ostream;18 19class SparcTargetStreamer : public MCTargetStreamer {20  virtual void anchor();21 22public:23  SparcTargetStreamer(MCStreamer &S);24  /// Emit ".register <reg>, #ignore".25  virtual void emitSparcRegisterIgnore(unsigned reg){};26  /// Emit ".register <reg>, #scratch".27  virtual void emitSparcRegisterScratch(unsigned reg){};28};29 30// This part is for ascii assembly output31class SparcTargetAsmStreamer : public SparcTargetStreamer {32  formatted_raw_ostream &OS;33 34public:35  SparcTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS);36  void emitSparcRegisterIgnore(unsigned reg) override;37  void emitSparcRegisterScratch(unsigned reg) override;38};39 40// This part is for ELF object output41class SparcTargetELFStreamer : public SparcTargetStreamer {42public:43  SparcTargetELFStreamer(MCStreamer &S, const MCSubtargetInfo &STI);44  MCELFStreamer &getStreamer();45  void emitSparcRegisterIgnore(unsigned reg) override {}46  void emitSparcRegisterScratch(unsigned reg) override {}47};48} // end namespace llvm49 50#endif51