1*5f757f3fSDimitry Andric //===- lib/MC/MCGOFFStreamer.cpp - GOFF Object Output ---------------------===// 2*5f757f3fSDimitry Andric // 3*5f757f3fSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*5f757f3fSDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*5f757f3fSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*5f757f3fSDimitry Andric // 7*5f757f3fSDimitry Andric //===----------------------------------------------------------------------===// 8*5f757f3fSDimitry Andric // 9*5f757f3fSDimitry Andric // This file assembles .s files and emits GOFF .o object files. 10*5f757f3fSDimitry Andric // 11*5f757f3fSDimitry Andric //===----------------------------------------------------------------------===// 12*5f757f3fSDimitry Andric 13*5f757f3fSDimitry Andric #include "llvm/MC/MCGOFFStreamer.h" 14*5f757f3fSDimitry Andric #include "llvm/MC/MCAsmBackend.h" 15*5f757f3fSDimitry Andric #include "llvm/MC/MCAssembler.h" 16*5f757f3fSDimitry Andric #include "llvm/MC/MCCodeEmitter.h" 17*5f757f3fSDimitry Andric #include "llvm/MC/MCContext.h" 18*5f757f3fSDimitry Andric #include "llvm/MC/TargetRegistry.h" 19*5f757f3fSDimitry Andric 20*5f757f3fSDimitry Andric using namespace llvm; 21*5f757f3fSDimitry Andric 22*5f757f3fSDimitry Andric MCGOFFStreamer::~MCGOFFStreamer() {} 23*5f757f3fSDimitry Andric 24*5f757f3fSDimitry Andric MCStreamer *llvm::createGOFFStreamer(MCContext &Context, 25*5f757f3fSDimitry Andric std::unique_ptr<MCAsmBackend> &&MAB, 26*5f757f3fSDimitry Andric std::unique_ptr<MCObjectWriter> &&OW, 27*5f757f3fSDimitry Andric std::unique_ptr<MCCodeEmitter> &&CE, 28*5f757f3fSDimitry Andric bool RelaxAll) { 29*5f757f3fSDimitry Andric MCGOFFStreamer *S = 30*5f757f3fSDimitry Andric new MCGOFFStreamer(Context, std::move(MAB), std::move(OW), std::move(CE)); 31*5f757f3fSDimitry Andric if (RelaxAll) 32*5f757f3fSDimitry Andric S->getAssembler().setRelaxAll(true); 33*5f757f3fSDimitry Andric return S; 34*5f757f3fSDimitry Andric } 35