1 //===-- RISCVTargetStreamer.cpp - RISCV Target Streamer Methods -----------===//
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-exception
7 //===----------------------------------------------------------------------===//
9 // This file provides RISCV specific target streamer methods.
11 //===----------------------------------------------------------------------===//
13 #include "RISCVTargetStreamer.h"
14 #include "llvm/Support/FormattedStream.h"
18 RISCVTargetStreamer::RISCVTargetStreamer(MCStreamer
&S
) : MCTargetStreamer(S
) {}
20 // This part is for ascii assembly output
21 RISCVTargetAsmStreamer::RISCVTargetAsmStreamer(MCStreamer
&S
,
22 formatted_raw_ostream
&OS
)
23 : RISCVTargetStreamer(S
), OS(OS
) {}
25 void RISCVTargetAsmStreamer::emitDirectiveOptionPush() {
26 OS
<< "\t.option\tpush\n";
29 void RISCVTargetAsmStreamer::emitDirectiveOptionPop() {
30 OS
<< "\t.option\tpop\n";
33 void RISCVTargetAsmStreamer::emitDirectiveOptionRVC() {
34 OS
<< "\t.option\trvc\n";
37 void RISCVTargetAsmStreamer::emitDirectiveOptionNoRVC() {
38 OS
<< "\t.option\tnorvc\n";
41 void RISCVTargetAsmStreamer::emitDirectiveOptionRelax() {
42 OS
<< "\t.option\trelax\n";
45 void RISCVTargetAsmStreamer::emitDirectiveOptionNoRelax() {
46 OS
<< "\t.option\tnorelax\n";