32 ELF_IsSignature_Shift = 10,
35 ELF_WeakrefUsedInReloc_Shift = 11,
38 ELF_BindingSet_Shift = 12
64 setFlags(OtherFlags | (Val << ELF_STB_Shift));
125 setFlags(OtherFlags | (Val << ELF_STT_Shift));
155 setFlags(OtherFlags | (Visibility << ELF_STV_Shift));
166 assert((Other & 0x1f) == 0);
170 setFlags(OtherFlags | (Other << ELF_STO_Shift));
174 unsigned Other = (
getFlags() & (0x7 << ELF_STO_Shift)) >> ELF_STO_Shift;
180 setFlags(OtherFlags | (1 << ELF_WeakrefUsedInReloc_Shift));
184 return getFlags() & (0x1 << ELF_WeakrefUsedInReloc_Shift);
189 setFlags(OtherFlags | (1 << ELF_IsSignature_Shift));
193 return getFlags() & (0x1 << ELF_IsSignature_Shift);
196 void MCSymbolELF::setIsBindingSet()
const {
198 setFlags(OtherFlags | (1 << ELF_BindingSet_Shift));
202 return getFlags() & (0x1 << ELF_BindingSet_Shift);
This class represents lattice values for constants.
unsigned getVisibility() const
unsigned getBinding() const
void setVisibility(unsigned Visibility)
ELFYAML::ELF_STV Visibility
bool isBindingSet() const
unsigned getOther() const
void setIsSignature() const
The instances of the Type class are immutable: once they are created, they are never changed...
void setOther(unsigned Other)
void setFlags(uint32_t Value) const
Set the (implementation defined) symbol flags.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
void setType(unsigned Type) const
bool isWeakrefUsedInReloc() const
void setBinding(unsigned Binding) const
bool isDefined() const
isDefined - Check if this symbol is defined (i.e., it has an address).
bool isUsedInReloc() const
void setIsWeakrefUsedInReloc() const
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
uint32_t getFlags() const
Get the (implementation defined) symbol flags.