LLVM 22.0.0git
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
19#include "llvm/MC/MCSymbol.h"
21
22namespace llvm {
23
24class 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
34public:
37
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
std::string Name
This file declares the MCSectionGOFF class, which contains all of the necessary machine code sections...
MCSymbolGOFF(const MCSymbolTableEntry *Name, bool IsTemporary)
Definition: MCSymbolGOFF.h:35
GOFF::LDAttr getLDAttributes() const
Definition: MCSymbolGOFF.h:42
void setADA(MCSectionGOFF *AssociatedDataArea)
Definition: MCSymbolGOFF.h:45
bool hasLDAttributes() const
Definition: MCSymbolGOFF.h:43
void setLDAttributes(GOFF::LDAttr Attr)
Definition: MCSymbolGOFF.h:38
MCSectionGOFF * getADA() const
Definition: MCSymbolGOFF.h:49
MCSymbol - Instances of this class represent a symbol name in the MC file, and MCSymbols are created ...
Definition: MCSymbol.h:42
void modifyFlags(uint32_t Value, uint32_t Mask) const
Modify the flags via a mask.
Definition: MCSymbol.h:375
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
Definition: MCSymbol.h:366
unsigned IsTemporary
IsTemporary - True if this is an assembler temporary label, which typically does not survive in the ....
Definition: MCSymbol.h:78
StringMapEntry - This is used to represent one value that is inserted into a StringMap.
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18