LLVM
17.0.0git
lib
Target
AMDGPU
MCTargetDesc
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
31
MCELFStreamer
*
llvm::createAMDGPUELFStreamer
(
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
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
T
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:76
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:44
MCELFStreamer.h
Context
LLVMContext & Context
Definition:
NVVMIntrRange.cpp:66
Emitter
dxil DXContainer Global Emitter
Definition:
DXContainerGlobals.cpp:108
llvm::MCELFStreamer
Definition:
MCELFStreamer.h:31
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:1862
MCObjectWriter.h
std
Definition:
BitVector.h:851
Generated on Sat Jan 28 2023 09:55:50 for LLVM by
1.8.17