1262261Sdim//===-- SparcTargetStreamer.cpp - Sparc Target Streamer Methods -----------===//
2262261Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6262261Sdim//
7262261Sdim//===----------------------------------------------------------------------===//
8262261Sdim//
9262261Sdim// This file provides Sparc specific target streamer methods.
10262261Sdim//
11262261Sdim//===----------------------------------------------------------------------===//
12262261Sdim
13262261Sdim#include "SparcTargetStreamer.h"
14353358Sdim#include "SparcInstPrinter.h"
15262261Sdim#include "llvm/Support/FormattedStream.h"
16262261Sdim
17262261Sdimusing namespace llvm;
18262261Sdim
19262261Sdim// pin vtable to this file
20276479SdimSparcTargetStreamer::SparcTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {}
21276479Sdim
22262261Sdimvoid SparcTargetStreamer::anchor() {}
23262261Sdim
24276479SdimSparcTargetAsmStreamer::SparcTargetAsmStreamer(MCStreamer &S,
25276479Sdim                                               formatted_raw_ostream &OS)
26276479Sdim    : SparcTargetStreamer(S), OS(OS) {}
27262261Sdim
28262261Sdimvoid SparcTargetAsmStreamer::emitSparcRegisterIgnore(unsigned reg) {
29262261Sdim  OS << "\t.register "
30262261Sdim     << "%" << StringRef(SparcInstPrinter::getRegisterName(reg)).lower()
31262261Sdim     << ", #ignore\n";
32262261Sdim}
33262261Sdim
34262261Sdimvoid SparcTargetAsmStreamer::emitSparcRegisterScratch(unsigned reg) {
35262261Sdim  OS << "\t.register "
36262261Sdim     << "%" << StringRef(SparcInstPrinter::getRegisterName(reg)).lower()
37262261Sdim     << ", #scratch\n";
38262261Sdim}
39262261Sdim
40276479SdimSparcTargetELFStreamer::SparcTargetELFStreamer(MCStreamer &S)
41276479Sdim    : SparcTargetStreamer(S) {}
42276479Sdim
43262261SdimMCELFStreamer &SparcTargetELFStreamer::getStreamer() {
44276479Sdim  return static_cast<MCELFStreamer &>(Streamer);
45262261Sdim}
46