18#ifndef LLVM_BINARYFORMAT_GOFF_H
19#define LLVM_BINARYFORMAT_GOFF_H
184 return (OldValue & ~Mask) |
Value;
192 template <
typename T>
194 Val = bits(BitIndex,
Length,
static_cast<uint8_t>(NewValue), Val);
197 template <
typename T>
199 return static_cast<T>((Val >> (8 - BitIndex -
Length)) &
203 constexpr operator uint8_t()
const {
return Val; }
212#define GOFF_SYMBOL_FLAG(NAME, TYPE, BITINDEX, LENGTH) \
213 void set##NAME(TYPE Val) { SymFlags.set<TYPE>(BITINDEX, LENGTH, Val); } \
214 TYPE get##NAME() const { return SymFlags.get<TYPE>(BITINDEX, LENGTH); }
222#undef GOFF_SYMBOL_FLAG
233#define GOFF_BEHAVIORAL_ATTRIBUTE(NAME, TYPE, ATTRIDX, BITINDEX, LENGTH) \
234 void set##NAME(TYPE Val) { Attr[ATTRIDX].set<TYPE>(BITINDEX, LENGTH, Val); } \
235 TYPE get##NAME() const { return Attr[ATTRIDX].get<TYPE>(BITINDEX, LENGTH); }
255#undef GOFF_BEHAVIORAL_ATTRIBUTE
constexpr Flags(uint8_t BitIndex, uint8_t Length, uint8_t Value)
constexpr Flags()=default
constexpr T get(uint8_t BitIndex, uint8_t Length) const
constexpr void set(uint8_t BitIndex, uint8_t Length, T NewValue)
LLVM Value Representation.
ESDDuplicateSymbolSeverity
constexpr uint8_t RecordPrefixLength
constexpr uint8_t PayloadLength
constexpr uint8_t RecordContentLength
constexpr uint16_t MaxDataLength
Maximum data length before starting a new card for RLD and TXT data.
constexpr uint8_t PTVPrefix
Prefix byte on every record. This indicates GOFF format.
constexpr uint8_t RecordLength
Length of the parts of a physical GOFF record.
@ ESD_NS_ProgramManagementBinder
@ ESD_ST_ElementDefinition
@ ESD_ST_SectionDefinition
@ ESD_ST_ExternalReference
This is an optimization pass for GlobalISel generic memory operations.