1262261Sdim//===-- SparcTargetStreamer.cpp - Sparc Target Streamer Methods -----------===//
2262261Sdim//
3262261Sdim//                     The LLVM Compiler Infrastructure
4262261Sdim//
5262261Sdim// This file is distributed under the University of Illinois Open Source
6262261Sdim// License. See LICENSE.TXT for details.
7262261Sdim//
8262261Sdim//===----------------------------------------------------------------------===//
9262261Sdim//
10262261Sdim// This file provides Sparc specific target streamer methods.
11262261Sdim//
12262261Sdim//===----------------------------------------------------------------------===//
13262261Sdim
14262261Sdim#include "SparcTargetStreamer.h"
15262261Sdim#include "InstPrinter/SparcInstPrinter.h"
16262261Sdim#include "llvm/Support/FormattedStream.h"
17262261Sdim
18262261Sdimusing namespace llvm;
19262261Sdim
20262261Sdim// pin vtable to this file
21262261Sdimvoid SparcTargetStreamer::anchor() {}
22262261Sdim
23262261SdimSparcTargetAsmStreamer::SparcTargetAsmStreamer(formatted_raw_ostream &OS)
24262261Sdim    : OS(OS) {}
25262261Sdim
26262261Sdimvoid SparcTargetAsmStreamer::emitSparcRegisterIgnore(unsigned reg) {
27262261Sdim  OS << "\t.register "
28262261Sdim     << "%" << StringRef(SparcInstPrinter::getRegisterName(reg)).lower()
29262261Sdim     << ", #ignore\n";
30262261Sdim}
31262261Sdim
32262261Sdimvoid SparcTargetAsmStreamer::emitSparcRegisterScratch(unsigned reg) {
33262261Sdim  OS << "\t.register "
34262261Sdim     << "%" << StringRef(SparcInstPrinter::getRegisterName(reg)).lower()
35262261Sdim     << ", #scratch\n";
36262261Sdim}
37262261Sdim
38262261SdimMCELFStreamer &SparcTargetELFStreamer::getStreamer() {
39262261Sdim  return static_cast<MCELFStreamer &>(*Streamer);
40262261Sdim}
41