blob: 525c20810f244c1880faa37e023ec94125284db8 [file] [log] [blame]
Shiva Chen056d8352018-01-26 07:53:07 +00001//===-- RISCVTargetStreamer.h - RISCV Target Streamer ----------*- C++ -*--===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_LIB_TARGET_RISCV_RISCVTARGETSTREAMER_H
11#define LLVM_LIB_TARGET_RISCV_RISCVTARGETSTREAMER_H
12
13#include "llvm/MC/MCStreamer.h"
14
15namespace llvm {
16
17class RISCVTargetStreamer : public MCTargetStreamer {
18public:
19 RISCVTargetStreamer(MCStreamer &S);
Alex Bradburybca0c3c2018-05-11 17:30:28 +000020
21 virtual void emitDirectiveOptionRVC() = 0;
22 virtual void emitDirectiveOptionNoRVC() = 0;
Shiva Chen056d8352018-01-26 07:53:07 +000023};
Alex Bradburybca0c3c2018-05-11 17:30:28 +000024
25// This part is for ascii assembly output
26class RISCVTargetAsmStreamer : public RISCVTargetStreamer {
27 formatted_raw_ostream &OS;
28
29public:
30 RISCVTargetAsmStreamer(MCStreamer &S, formatted_raw_ostream &OS);
31
32 void emitDirectiveOptionRVC() override;
33 void emitDirectiveOptionNoRVC() override;
34};
35
Shiva Chen056d8352018-01-26 07:53:07 +000036}
37#endif