brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · ab85c29 Raw
49 lines · c
1//===-- VETargetStreamer.h - VE 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_VE_VETARGETSTREAMER_H10#define LLVM_LIB_TARGET_VE_VETARGETSTREAMER_H11 12#include "llvm/MC/MCELFStreamer.h"13#include "llvm/MC/MCStreamer.h"14#include "llvm/Support/FormattedStream.h"15 16namespace llvm {17class VETargetStreamer : public MCTargetStreamer {18  virtual void anchor();19 20public:21  VETargetStreamer(MCStreamer &S);22  /// Emit ".register <reg>, #ignore".23  virtual void emitVERegisterIgnore(unsigned reg){};24  /// Emit ".register <reg>, #scratch".25  virtual void emitVERegisterScratch(unsigned reg){};26};27 28// This part is for ascii assembly output29class VETargetAsmStreamer : public VETargetStreamer {30  formatted_raw_ostream &OS;31 32public:33  VETargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS);34  void emitVERegisterIgnore(unsigned reg) override;35  void emitVERegisterScratch(unsigned reg) override;36};37 38// This part is for ELF object output39class VETargetELFStreamer : public VETargetStreamer {40public:41  VETargetELFStreamer(MCStreamer &S);42  MCELFStreamer &getStreamer();43  void emitVERegisterIgnore(unsigned reg) override {}44  void emitVERegisterScratch(unsigned reg) override {}45};46} // namespace llvm47 48#endif49