30 ELF_IsSignature_Shift = 10,
33 ELF_WeakrefUsedInReloc_Shift = 11,
36 ELF_BindingSet_Shift = 12,
39 ELF_IsMemoryTagged_Shift = 13,
63 setFlags(OtherFlags | (Val << ELF_STB_Shift));
122 setFlags(OtherFlags | (Val << ELF_STT_Shift));
152 setFlags(OtherFlags | (Visibility << ELF_STV_Shift));
156 unsigned Visibility = (
Flags >> ELF_STV_Shift) & 3;
169 unsigned Other = (
Flags >> ELF_STO_Shift) & 7;
175 setFlags(OtherFlags | (1 << ELF_WeakrefUsedInReloc_Shift));
179 return getFlags() & (0x1 << ELF_WeakrefUsedInReloc_Shift);
184 setFlags(OtherFlags | (1 << ELF_IsSignature_Shift));
188 return getFlags() & (0x1 << ELF_IsSignature_Shift);
191void MCSymbolELF::setIsBindingSet()
const {
193 setFlags(OtherFlags | (1 << ELF_BindingSet_Shift));
197 return getFlags() & (0x1 << ELF_BindingSet_Shift);
201 return getFlags() & (0x1 << ELF_IsMemoryTagged_Shift);
207 setFlags(OtherFlags | (1 << ELF_IsMemoryTagged_Shift));
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
unsigned getOther() const
bool isWeakrefUsedInReloc() const
void setVisibility(unsigned Visibility)
void setMemtag(bool Tagged)
bool isBindingSet() const
void setIsSignature() const
void setIsWeakrefUsedInReloc() const
void setBinding(unsigned Binding) const
unsigned getVisibility() const
unsigned getBinding() const
void setType(unsigned Type) const
void setOther(unsigned Other)
bool isDefined() const
isDefined - Check if this symbol is defined (i.e., it has an address).
void setFlags(uint32_t Value) const
Set the (implementation defined) symbol flags.
uint32_t getFlags() const
Get the (implementation defined) symbol flags.
bool isUsedInReloc() const
The instances of the Type class are immutable: once they are created, they are never changed.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.