1 //===-- RISCVTargetStreamer.cpp - RISCV Target Streamer Methods -----------===// 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-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file provides RISCV specific target streamer methods. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "RISCVTargetStreamer.h" 14 #include "llvm/Support/FormattedStream.h" 15 16 using namespace llvm; 17 18 RISCVTargetStreamer::RISCVTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {} 19 20 // This part is for ascii assembly output 21 RISCVTargetAsmStreamer::RISCVTargetAsmStreamer(MCStreamer &S, 22 formatted_raw_ostream &OS) 23 : RISCVTargetStreamer(S), OS(OS) {} 24 25 void RISCVTargetAsmStreamer::emitDirectiveOptionPush() { 26 OS << "\t.option\tpush\n"; 27 } 28 29 void RISCVTargetAsmStreamer::emitDirectiveOptionPop() { 30 OS << "\t.option\tpop\n"; 31 } 32 33 void RISCVTargetAsmStreamer::emitDirectiveOptionRVC() { 34 OS << "\t.option\trvc\n"; 35 } 36 37 void RISCVTargetAsmStreamer::emitDirectiveOptionNoRVC() { 38 OS << "\t.option\tnorvc\n"; 39 } 40 41 void RISCVTargetAsmStreamer::emitDirectiveOptionRelax() { 42 OS << "\t.option\trelax\n"; 43 } 44 45 void RISCVTargetAsmStreamer::emitDirectiveOptionNoRelax() { 46 OS << "\t.option\tnorelax\n"; 47 } 48