LLVM
20.0.0git
lib
MC
MCNullStreamer.cpp
Go to the documentation of this file.
1
//===- lib/MC/MCNullStreamer.cpp - Dummy Streamer Implementation ----------===//
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 "
llvm/ADT/StringRef.h
"
10
#include "
llvm/MC/MCDirectives.h
"
11
#include "
llvm/MC/MCStreamer.h
"
12
#include "
llvm/Support/SMLoc.h
"
13
namespace
llvm
{
14
class
MCContext
;
15
class
MCExpr
;
16
class
MCSection
;
17
class
MCSymbol
;
18
}
// namespace llvm
19
20
using namespace
llvm
;
21
22
namespace
{
23
24
class
MCNullStreamer :
public
MCStreamer
{
25
public
:
26
MCNullStreamer(
MCContext
&Context) :
MCStreamer
(Context) {}
27
28
/// @name MCStreamer Interface
29
/// @{
30
31
bool
hasRawTextSupport()
const override
{
return
true
; }
32
void
emitRawTextImpl(
StringRef
String
)
override
{}
33
34
bool
emitSymbolAttribute(
MCSymbol
*Symbol,
35
MCSymbolAttr
Attribute
)
override
{
36
return
true
;
37
}
38
39
void
emitCommonSymbol(
MCSymbol
*Symbol,
uint64_t
Size
,
40
Align
ByteAlignment)
override
{}
41
void
emitZerofill(
MCSection
*Section,
MCSymbol
*Symbol =
nullptr
,
42
uint64_t
Size
= 0,
Align
ByteAlignment =
Align
(1),
43
SMLoc
Loc =
SMLoc
())
override
{}
44
void
emitGPRel32Value(
const
MCExpr
*
Value
)
override
{}
45
void
beginCOFFSymbolDef(
const
MCSymbol
*Symbol)
override
{}
46
void
emitCOFFSymbolStorageClass(
int
StorageClass
)
override
{}
47
void
emitCOFFSymbolType(
int
Type
)
override
{}
48
void
endCOFFSymbolDef()
override
{}
49
void
50
emitXCOFFSymbolLinkageWithVisibility(
MCSymbol
*Symbol,
MCSymbolAttr
Linkage
,
51
MCSymbolAttr
Visibility)
override
{}
52
};
53
54
}
55
56
MCStreamer
*
llvm::createNullStreamer
(
MCContext
&Context) {
57
return
new
MCNullStreamer(Context);
58
}
Linkage
DXIL Finalize Linkage
Definition:
DXILFinalizeLinkage.cpp:58
Size
uint64_t Size
Definition:
ELFObjHandler.cpp:81
MCDirectives.h
MCStreamer.h
SMLoc.h
StringRef.h
llvm::Attribute
Definition:
Attributes.h:67
llvm::MCContext
Context object for machine code objects.
Definition:
MCContext.h:83
llvm::MCExpr
Base class for the full range of assembler expressions which are needed for parsing.
Definition:
MCExpr.h:34
llvm::MCSection
Instances of this class represent a uniqued identifier for a section in the current translation unit.
Definition:
MCSection.h:36
llvm::MCStreamer
Streaming machine code generation interface.
Definition:
MCStreamer.h:213
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition:
MCSymbol.h:41
llvm::SMLoc
Represents a location in source code.
Definition:
SMLoc.h:23
llvm::StringRef
StringRef - Represent a constant reference to a string, i.e.
Definition:
StringRef.h:51
llvm::Type
The instances of the Type class are immutable: once they are created, they are never changed.
Definition:
Type.h:45
llvm::Value
LLVM Value Representation.
Definition:
Value.h:74
uint64_t
llvm::XCOFF::StorageClass
StorageClass
Definition:
XCOFF.h:170
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::createNullStreamer
MCStreamer * createNullStreamer(MCContext &Ctx)
Create a dummy machine code streamer, which does nothing.
Definition:
MCNullStreamer.cpp:56
llvm::HighlightColor::String
@ String
llvm::MCSymbolAttr
MCSymbolAttr
Definition:
MCDirectives.h:18
llvm::Align
This struct is a compact representation of a valid (non-zero power of two) alignment.
Definition:
Alignment.h:39
Generated on Sat Dec 21 2024 23:10:24 for LLVM by
1.9.6