brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8f9f0cb Raw
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