blob: 73e563890dd9ffc5431938fb3a10cfefeb531d12 [file] [log] [blame]
David Peixottob9b73622014-02-04 17:22:40 +00001//===- ARMTargetStreamer.cpp - ARMTargetStreamer class --*- C++ -*---------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file implements the ARMTargetStreamer class.
11//
12//===----------------------------------------------------------------------===//
Eugene Zelenkoe79c0772017-01-27 23:58:02 +000013
Weiming Zhao8c899732014-06-18 18:17:25 +000014#include "llvm/MC/ConstantPools.h"
Chandler Carruth442f7842014-03-04 10:07:28 +000015#include "llvm/MC/MCExpr.h"
16#include "llvm/MC/MCStreamer.h"
David Peixottob9b73622014-02-04 17:22:40 +000017
18using namespace llvm;
Eugene Zelenkoe79c0772017-01-27 23:58:02 +000019
David Peixottob9b73622014-02-04 17:22:40 +000020//
21// ARMTargetStreamer Implemenation
22//
Eugene Zelenkoe79c0772017-01-27 23:58:02 +000023
David Peixottob9b73622014-02-04 17:22:40 +000024ARMTargetStreamer::ARMTargetStreamer(MCStreamer &S)
25 : MCTargetStreamer(S), ConstantPools(new AssemblerConstantPools()) {}
26
Eugene Zelenkoe79c0772017-01-27 23:58:02 +000027ARMTargetStreamer::~ARMTargetStreamer() = default;
David Peixottob9b73622014-02-04 17:22:40 +000028
29// The constant pool handling is shared by all ARMTargetStreamer
30// implementations.
Oliver Stannard9327a752015-11-16 16:25:47 +000031const MCExpr *ARMTargetStreamer::addConstantPoolEntry(const MCExpr *Expr, SMLoc Loc) {
32 return ConstantPools->addEntry(Streamer, Expr, 4, Loc);
David Peixottob9b73622014-02-04 17:22:40 +000033}
34
35void ARMTargetStreamer::emitCurrentConstantPool() {
36 ConstantPools->emitForCurrentSection(Streamer);
37}
38
39// finish() - write out any non-empty assembler constant pools.
40void ARMTargetStreamer::finish() { ConstantPools->emitAll(Streamer); }
41
Keno Fischer00021422016-01-12 13:38:15 +000042// reset() - Reset any state
43void ARMTargetStreamer::reset() {}
44
David Peixottob9b73622014-02-04 17:22:40 +000045// The remaining callbacks should be handled separately by each
46// streamer.
Rafael Espindola1fc003e2014-06-20 13:11:28 +000047void ARMTargetStreamer::emitFnStart() {}
48void ARMTargetStreamer::emitFnEnd() {}
49void ARMTargetStreamer::emitCantUnwind() {}
50void ARMTargetStreamer::emitPersonality(const MCSymbol *Personality) {}
51void ARMTargetStreamer::emitPersonalityIndex(unsigned Index) {}
52void ARMTargetStreamer::emitHandlerData() {}
David Peixottob9b73622014-02-04 17:22:40 +000053void ARMTargetStreamer::emitSetFP(unsigned FpReg, unsigned SpReg,
Rafael Espindola1fc003e2014-06-20 13:11:28 +000054 int64_t Offset) {}
55void ARMTargetStreamer::emitMovSP(unsigned Reg, int64_t Offset) {}
56void ARMTargetStreamer::emitPad(int64_t Offset) {}
57void ARMTargetStreamer::emitRegSave(const SmallVectorImpl<unsigned> &RegList,
58 bool isVector) {}
59void ARMTargetStreamer::emitUnwindRaw(int64_t StackOffset,
60 const SmallVectorImpl<uint8_t> &Opcodes) {
David Peixottob9b73622014-02-04 17:22:40 +000061}
Rafael Espindola1fc003e2014-06-20 13:11:28 +000062void ARMTargetStreamer::switchVendor(StringRef Vendor) {}
63void ARMTargetStreamer::emitAttribute(unsigned Attribute, unsigned Value) {}
David Peixottob9b73622014-02-04 17:22:40 +000064void ARMTargetStreamer::emitTextAttribute(unsigned Attribute,
Rafael Espindola1fc003e2014-06-20 13:11:28 +000065 StringRef String) {}
David Peixottob9b73622014-02-04 17:22:40 +000066void ARMTargetStreamer::emitIntTextAttribute(unsigned Attribute,
Rafael Espindola1fc003e2014-06-20 13:11:28 +000067 unsigned IntValue,
68 StringRef StringValue) {}
69void ARMTargetStreamer::emitArch(unsigned Arch) {}
Sumanth Gundapanenia9049ea2015-02-26 18:07:35 +000070void ARMTargetStreamer::emitArchExtension(unsigned ArchExt) {}
Rafael Espindola1fc003e2014-06-20 13:11:28 +000071void ARMTargetStreamer::emitObjectArch(unsigned Arch) {}
72void ARMTargetStreamer::emitFPU(unsigned FPU) {}
73void ARMTargetStreamer::finishAttributeSection() {}
74void ARMTargetStreamer::emitInst(uint32_t Inst, char Suffix) {}
75void
76ARMTargetStreamer::AnnotateTLSDescriptorSequence(const MCSymbolRefExpr *SRE) {}
Rafael Espindola1fc003e2014-06-20 13:11:28 +000077void ARMTargetStreamer::emitThumbSet(MCSymbol *Symbol, const MCExpr *Value) {}