1//===- AArch64TargetStreamer.cpp - AArch64TargetStreamer 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 AArch64TargetStreamer class. 11// 12//===----------------------------------------------------------------------===// 13#include "llvm/ADT/MapVector.h" 14#include "llvm/MC/ConstantPools.h" 15#include "llvm/MC/MCContext.h" 16#include "llvm/MC/MCExpr.h" 17#include "llvm/MC/MCStreamer.h" 18 19using namespace llvm; 20 21// 22// AArch64TargetStreamer Implemenation 23// 24AArch64TargetStreamer::AArch64TargetStreamer(MCStreamer &S) 25 : MCTargetStreamer(S), ConstantPools(new AssemblerConstantPools()) {} 26 27AArch64TargetStreamer::~AArch64TargetStreamer() {} 28 29// The constant pool handling is shared by all AArch64TargetStreamer 30// implementations. 31const MCExpr *AArch64TargetStreamer::addConstantPoolEntry(const MCExpr *Expr, 32 unsigned Size) { 33 return ConstantPools->addEntry(Streamer, Expr, Size); 34} 35 36void AArch64TargetStreamer::emitCurrentConstantPool() { 37 ConstantPools->emitForCurrentSection(Streamer); 38} 39 40// finish() - write out any non-empty assembler constant pools. 41void AArch64TargetStreamer::finish() { ConstantPools->emitAll(Streamer); } 42 43void AArch64TargetStreamer::emitInst(uint32_t Inst) {} 44