LLVM 23.0.0git
MCSymbolELF.h
Go to the documentation of this file.
1//===- MCSymbolELF.h - -----------------------------------------*- 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#ifndef LLVM_MC_MCSYMBOLELF_H
9#define LLVM_MC_MCSYMBOLELF_H
10
11#include "llvm/MC/MCSymbol.h"
13
14namespace llvm {
15class MCSymbolELF : public MCSymbol {
16 friend class MCAsmInfoELF;
17 /// An expression describing how to calculate the size of a symbol. If a
18 /// symbol has no size this field will be NULL.
19 const MCExpr *SymbolSize = nullptr;
20
21public:
24 void setSize(const MCExpr *SS) { SymbolSize = SS; }
25
26 const MCExpr *getSize() const { return SymbolSize; }
27
28 LLVM_ABI void setVisibility(unsigned Visibility);
29 LLVM_ABI unsigned getVisibility() const;
30
31 LLVM_ABI void setOther(unsigned Other);
32 LLVM_ABI unsigned getOther() const;
33
34 LLVM_ABI void setType(unsigned Type) const;
35 LLVM_ABI unsigned getType() const;
36
37 LLVM_ABI void setBinding(unsigned Binding) const;
38 LLVM_ABI unsigned getBinding() const;
39
40 LLVM_ABI bool isBindingSet() const;
41
42 LLVM_ABI void setIsWeakref() const;
43 LLVM_ABI bool isWeakref() const;
44
45 LLVM_ABI void setIsSignature() const;
46 LLVM_ABI bool isSignature() const;
47
48 LLVM_ABI void setMemtag(bool Tagged);
49 LLVM_ABI bool isMemtag() const;
50
51private:
52 void setIsBindingSet() const;
53};
54}
55
56#endif
#define LLVM_ABI
Definition Compiler.h:213
DXIL Resource Implicit Binding
LLVM_ABI bool isMemtag() const
LLVM_ABI void setIsWeakref() const
LLVM_ABI unsigned getOther() const
LLVM_ABI unsigned getType() const
LLVM_ABI void setVisibility(unsigned Visibility)
friend class MCAsmInfoELF
Definition MCSymbolELF.h:16
LLVM_ABI void setMemtag(bool Tagged)
void setSize(const MCExpr *SS)
Definition MCSymbolELF.h:24
LLVM_ABI bool isBindingSet() const
LLVM_ABI void setIsSignature() const
const MCExpr * getSize() const
Definition MCSymbolELF.h:26
MCSymbolELF(const MCSymbolTableEntry *Name, bool isTemporary)
Definition MCSymbolELF.h:22
LLVM_ABI void setBinding(unsigned Binding) const
LLVM_ABI bool isSignature() const
LLVM_ABI unsigned getVisibility() const
LLVM_ABI unsigned getBinding() const
LLVM_ABI void setType(unsigned Type) const
LLVM_ABI void setOther(unsigned Other)
LLVM_ABI bool isWeakref() const
MCSymbol(const MCSymbolTableEntry *Name, bool isTemporary)
Definition MCSymbol.h:146
friend class MCExpr
Definition MCSymbol.h:134
bool isTemporary() const
isTemporary - Check if this is an assembler temporary symbol.
Definition MCSymbol.h:205
The instances of the Type class are immutable: once they are created, they are never changed.
Definition Type.h:46
This is an optimization pass for GlobalISel generic memory operations.
@ Other
Any other memory.
Definition ModRef.h:68
StringMapEntry< MCSymbolTableValue > MCSymbolTableEntry
MCContext stores MCSymbolTableValue in a string map (see MCSymbol::operator new).