51 lines · cpp
1//===-- LoongArchTargetStreamer.cpp - LoongArch 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-exception6//7//===----------------------------------------------------------------------===//8//9// This file provides LoongArch specific target streamer methods.10//11//===----------------------------------------------------------------------===//12 13#include "LoongArchTargetStreamer.h"14 15using namespace llvm;16 17LoongArchTargetStreamer::LoongArchTargetStreamer(MCStreamer &S)18 : MCTargetStreamer(S) {}19 20void LoongArchTargetStreamer::setTargetABI(LoongArchABI::ABI ABI) {21 assert(ABI != LoongArchABI::ABI_Unknown &&22 "Improperly initialized target ABI");23 TargetABI = ABI;24}25 26void LoongArchTargetStreamer::emitDirectiveOptionPush() {}27void LoongArchTargetStreamer::emitDirectiveOptionPop() {}28void LoongArchTargetStreamer::emitDirectiveOptionRelax() {}29void LoongArchTargetStreamer::emitDirectiveOptionNoRelax() {}30 31// This part is for ascii assembly output.32LoongArchTargetAsmStreamer::LoongArchTargetAsmStreamer(33 MCStreamer &S, formatted_raw_ostream &OS)34 : LoongArchTargetStreamer(S), OS(OS) {}35 36void LoongArchTargetAsmStreamer::emitDirectiveOptionPush() {37 OS << "\t.option\tpush\n";38}39 40void LoongArchTargetAsmStreamer::emitDirectiveOptionPop() {41 OS << "\t.option\tpop\n";42}43 44void LoongArchTargetAsmStreamer::emitDirectiveOptionRelax() {45 OS << "\t.option\trelax\n";46}47 48void LoongArchTargetAsmStreamer::emitDirectiveOptionNoRelax() {49 OS << "\t.option\tnorelax\n";50}51