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