LLVM 20.0.0git
MipsWinCOFFStreamer.cpp
Go to the documentation of this file.
1//===- MipsWinCOFFStreamer.cpp-----------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===---------------------------------------------------------------------===//
8
9#include "MipsMCTargetDesc.h"
11#include "llvm/MC/MCAssembler.h"
15
16using namespace llvm;
17
18namespace {
19class MipsWinCOFFStreamer : public MCWinCOFFStreamer {
20public:
21 MipsWinCOFFStreamer(MCContext &C, std::unique_ptr<MCAsmBackend> AB,
22 std::unique_ptr<MCCodeEmitter> CE,
23 std::unique_ptr<MCObjectWriter> OW)
24 : MCWinCOFFStreamer(C, std::move(AB), std::move(CE), std::move(OW)) {}
25};
26} // namespace
27
29 MCContext &C, std::unique_ptr<MCAsmBackend> &&AB,
30 std::unique_ptr<MCObjectWriter> &&OW, std::unique_ptr<MCCodeEmitter> &&CE) {
31 return new MipsWinCOFFStreamer(C, std::move(AB), std::move(CE),
32 std::move(OW));
33}
Context object for machine code objects.
Definition: MCContext.h:83
Streaming machine code generation interface.
Definition: MCStreamer.h:213
@ C
The default llvm calling convention, compatible with C.
Definition: CallingConv.h:34
@ CE
Windows NT (Windows on ARM)
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
MCStreamer * createMipsWinCOFFStreamer(MCContext &C, std::unique_ptr< MCAsmBackend > &&AB, std::unique_ptr< MCObjectWriter > &&OW, std::unique_ptr< MCCodeEmitter > &&CE)
Construct an MIPS Windows COFF machine code streamer which will generate PE/COFF format object files.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Definition: STLExtras.h:1873
Implement std::hash so that hash_code can be used in STL containers.
Definition: BitVector.h:858