30 ELF_IsSignature_Shift = 10,
33 ELF_Weakref_Shift = 11,
36 ELF_BindingSet_Shift = 12,
39 ELF_IsMemoryTagged_Shift = 13,
63 setFlags(OtherFlags | (Val << ELF_STB_Shift));
120 setFlags(OtherFlags | (Val << ELF_STT_Shift));
150 setFlags(OtherFlags | (Visibility << ELF_STV_Shift));
154 unsigned Visibility = (
Flags >> ELF_STV_Shift) & 3;
167 unsigned Other = (
Flags >> ELF_STO_Shift) & 7;
173 setFlags(OtherFlags | (1 << ELF_Weakref_Shift));
177 return getFlags() & (0x1 << ELF_Weakref_Shift);
182 setFlags(OtherFlags | (1 << ELF_IsSignature_Shift));
186 return getFlags() & (0x1 << ELF_IsSignature_Shift);
189void MCSymbolELF::setIsBindingSet()
const {
191 setFlags(OtherFlags | (1 << ELF_BindingSet_Shift));
195 return getFlags() & (0x1 << ELF_BindingSet_Shift);
199 return getFlags() & (0x1 << ELF_IsMemoryTagged_Shift);
205 setFlags(OtherFlags | (1 << ELF_IsMemoryTagged_Shift));
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
DXIL Resource Implicit Binding
void setIsWeakref() const
unsigned getOther() const
void setVisibility(unsigned Visibility)
void setMemtag(bool Tagged)
bool isBindingSet() const
void setIsSignature() 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.