LLVM
22.0.0git
include
llvm
MC
MCSymbolGOFF.h
Go to the documentation of this file.
1
//===-- llvm/MC/MCSymbolGOFF.h - GOFF Machine Code Symbols ------*- 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
/// \file
10
/// This file contains the MCSymbolGOFF class
11
///
12
//===----------------------------------------------------------------------===//
13
#ifndef LLVM_MC_MCSYMBOLGOFF_H
14
#define LLVM_MC_MCSYMBOLGOFF_H
15
16
#include "
llvm/BinaryFormat/GOFF.h
"
17
#include "
llvm/MC/MCGOFFAttributes.h
"
18
#include "
llvm/MC/MCSectionGOFF.h
"
19
#include "
llvm/MC/MCSymbol.h
"
20
#include "
llvm/MC/MCSymbolTableEntry.h
"
21
22
namespace
llvm
{
23
24
class
MCSymbolGOFF
:
public
MCSymbol
{
25
// Associated data area of the section. Needs to be emitted first.
26
MCSectionGOFF
*ADA;
27
28
GOFF::LDAttr
LDAttributes;
29
30
enum
SymbolFlags :
uint16_t
{
31
SF_LD = 0x01,
// LD attributes are set.
32
};
33
34
public
:
35
MCSymbolGOFF
(
const
MCSymbolTableEntry
*
Name
,
bool
IsTemporary
)
36
:
MCSymbol
(
Name
,
IsTemporary
) {}
37
38
void
setLDAttributes
(
GOFF::LDAttr
Attr) {
39
modifyFlags
(SF_LD, SF_LD);
40
LDAttributes = Attr;
41
}
42
GOFF::LDAttr
getLDAttributes
()
const
{
return
LDAttributes; }
43
bool
hasLDAttributes
()
const
{
return
getFlags
() & SF_LD; }
44
45
void
setADA
(
MCSectionGOFF
*AssociatedDataArea) {
46
ADA = AssociatedDataArea;
47
AssociatedDataArea->RequiresNonZeroLength =
true
;
48
}
49
MCSectionGOFF
*
getADA
()
const
{
return
ADA; }
50
};
51
}
// end namespace llvm
52
53
#endif
GOFF.h
Name
std::string Name
Definition:
ELFObjHandler.cpp:77
MCGOFFAttributes.h
MCSectionGOFF.h
This file declares the MCSectionGOFF class, which contains all of the necessary machine code sections...
MCSymbolTableEntry.h
MCSymbol.h
llvm::MCSectionGOFF
Definition:
MCSectionGOFF.h:29
llvm::MCSymbolGOFF
Definition:
MCSymbolGOFF.h:24
llvm::MCSymbolGOFF::MCSymbolGOFF
MCSymbolGOFF(const MCSymbolTableEntry *Name, bool IsTemporary)
Definition:
MCSymbolGOFF.h:35
llvm::MCSymbolGOFF::getLDAttributes
GOFF::LDAttr getLDAttributes() const
Definition:
MCSymbolGOFF.h:42
llvm::MCSymbolGOFF::setADA
void setADA(MCSectionGOFF *AssociatedDataArea)
Definition:
MCSymbolGOFF.h:45
llvm::MCSymbolGOFF::hasLDAttributes
bool hasLDAttributes() const
Definition:
MCSymbolGOFF.h:43
llvm::MCSymbolGOFF::setLDAttributes
void setLDAttributes(GOFF::LDAttr Attr)
Definition:
MCSymbolGOFF.h:38
llvm::MCSymbolGOFF::getADA
MCSectionGOFF * getADA() const
Definition:
MCSymbolGOFF.h:49
llvm::MCSymbol
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition:
MCSymbol.h:42
llvm::MCSymbol::modifyFlags
void modifyFlags(uint32_t Value, uint32_t Mask) const
Modify the flags via a mask.
Definition:
MCSymbol.h:375
llvm::MCSymbol::getFlags
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
Definition:
MCSymbol.h:366
llvm::MCSymbol::IsTemporary
unsigned IsTemporary
IsTemporary - True if this is an assembler temporary label, which typically does not survive in the ....
Definition:
MCSymbol.h:78
llvm::StringMapEntry
StringMapEntry - This is used to represent one value that is inserted into a StringMap.
Definition:
StringMapEntry.h:102
uint16_t
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::GOFF::LDAttr
Definition:
MCGOFFAttributes.h:65
Generated on Sat Aug 30 2025 05:10:46 for LLVM by
1.9.6