Path: blob/main/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VETargetStreamer.h
35294 views
//===-- VETargetStreamer.h - VE Target Streamer ----------------*- 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_VE_VETARGETSTREAMER_H9#define LLVM_LIB_TARGET_VE_VETARGETSTREAMER_H1011#include "llvm/MC/MCELFStreamer.h"12#include "llvm/MC/MCStreamer.h"13#include "llvm/Support/FormattedStream.h"1415namespace llvm {16class VETargetStreamer : public MCTargetStreamer {17virtual void anchor();1819public:20VETargetStreamer(MCStreamer &S);21/// Emit ".register <reg>, #ignore".22virtual void emitVERegisterIgnore(unsigned reg){};23/// Emit ".register <reg>, #scratch".24virtual void emitVERegisterScratch(unsigned reg){};25};2627// This part is for ascii assembly output28class VETargetAsmStreamer : public VETargetStreamer {29formatted_raw_ostream &OS;3031public:32VETargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS);33void emitVERegisterIgnore(unsigned reg) override;34void emitVERegisterScratch(unsigned reg) override;35};3637// This part is for ELF object output38class VETargetELFStreamer : public VETargetStreamer {39public:40VETargetELFStreamer(MCStreamer &S);41MCELFStreamer &getStreamer();42void emitVERegisterIgnore(unsigned reg) override {}43void emitVERegisterScratch(unsigned reg) override {}44};45} // namespace llvm4647#endif484950