LLVM  14.0.0git
AMDGPUELFStreamer.cpp
Go to the documentation of this file.
1 //===-------- AMDGPUELFStreamer.cpp - ELF Object Output -------------------===//
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 "AMDGPUELFStreamer.h"
10 #include "llvm/MC/MCAsmBackend.h"
11 #include "llvm/MC/MCCodeEmitter.h"
12 #include "llvm/MC/MCELFStreamer.h"
13 #include "llvm/MC/MCObjectWriter.h"
14 
15 using namespace llvm;
16 
17 namespace {
18 
19 class AMDGPUELFStreamer : public MCELFStreamer {
20 public:
21  AMDGPUELFStreamer(const Triple &T, MCContext &Context,
22  std::unique_ptr<MCAsmBackend> MAB,
23  std::unique_ptr<MCObjectWriter> OW,
24  std::unique_ptr<MCCodeEmitter> Emitter)
25  : MCELFStreamer(Context, std::move(MAB), std::move(OW),
26  std::move(Emitter)) {}
27 };
28 
29 }
30 
32  const Triple &T, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB,
33  std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter,
34  bool RelaxAll) {
35  return new AMDGPUELFStreamer(T, Context, std::move(MAB), std::move(OW),
36  std::move(Emitter));
37 }
AMDGPUELFStreamer.h
llvm
---------------------— PointerInfo ------------------------------------—
Definition: AllocatorList.h:23
llvm::MCContext
Context object for machine code objects.
Definition: MCContext.h:72
MCCodeEmitter.h
llvm::createAMDGPUELFStreamer
MCELFStreamer * createAMDGPUELFStreamer(const Triple &T, MCContext &Context, std::unique_ptr< MCAsmBackend > MAB, std::unique_ptr< MCObjectWriter > OW, std::unique_ptr< MCCodeEmitter > Emitter, bool RelaxAll)
Definition: AMDGPUELFStreamer.cpp:31
llvm::Triple
Triple - Helper class for working with autoconf configuration names.
Definition: Triple.h:45
T
#define T
Definition: Mips16ISelLowering.cpp:341
MCELFStreamer.h
Context
LLVMContext & Context
Definition: NVVMIntrRange.cpp:66
llvm::MCELFStreamer
Definition: MCELFStreamer.h:24
MCAsmBackend.h
move
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
Definition: README.txt:546
llvm::move
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:1605
MCObjectWriter.h
std
Definition: BitVector.h:838