33 ELF_IsSignature_Shift = 10,
36 ELF_WeakrefUsedInReloc_Shift = 11,
39 ELF_BindingSet_Shift = 12
63 setFlags(OtherFlags | (Val << ELF_STB_Shift));
122 setFlags(OtherFlags | (Val << ELF_STT_Shift));
152 setFlags(OtherFlags | (Visibility << ELF_STV_Shift));
163 assert((Other & 0x1f) == 0);
167 setFlags(OtherFlags | (Other << ELF_STO_Shift));
171 unsigned Other = (
getFlags() & (0x7 << ELF_STO_Shift)) >> ELF_STO_Shift;
177 setFlags(OtherFlags | (1 << ELF_WeakrefUsedInReloc_Shift));
181 return getFlags() & (0x1 << ELF_WeakrefUsedInReloc_Shift);
186 setFlags(OtherFlags | (1 << ELF_IsSignature_Shift));
190 return getFlags() & (0x1 << ELF_IsSignature_Shift);
193 void MCSymbolELF::setIsBindingSet()
const {
195 setFlags(OtherFlags | (1 << ELF_BindingSet_Shift));
199 return getFlags() & (0x1 << ELF_BindingSet_Shift);
bool isBindingSet() const
void setVisibility(unsigned Visibility)
ELFYAML::ELF_STV Visibility
void setType(unsigned Type) const
void setFlags(uint32_t Value) const
Set the (implementation defined) symbol flags.
void setIsSignature() const
unsigned getVisibility() const
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
The instances of the Type class are immutable: once they are created, they are never changed...
void setOther(unsigned Other)
unsigned getOther() const
unsigned getBinding() const
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
bool isUsedInReloc() const
bool isDefined(bool SetUsed=true) const
isDefined - Check if this symbol is defined (i.e., it has an address).
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
bool isWeakrefUsedInReloc() const
void setIsWeakrefUsedInReloc() const
void setBinding(unsigned Binding) const