SparcTargetStreamer.cpp revision 262261
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