xref: /freebsd-src/contrib/llvm-project/llvm/lib/MC/MCGOFFStreamer.cpp (revision 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)
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