23 const UTF8 *
const Begin8Const =
24 reinterpret_cast<const UTF8 *
>(Buffer.
begin());
25 const UTF8 *Begin8 = Begin8Const;
33 Buffer = Buffer.
drop_front(Begin8 - Begin8Const);
48 Begin8 - Storage.
begin());
55 if (
C == 0x130 ||
C == 0x131)
63 for (
unsigned char C : Buffer) {
64 H =
H * 33 + (
'A' <=
C &&
C <=
'Z' ?
C -
'A' +
'a' :
C);
65 AllASCII &=
C <= 0x7f;
76 std::array<UTF8, UNI_MAX_UTF8_BYTES_PER_CODE_POINT> Storage;
77 while (!Buffer.
empty()) {
static std::optional< uint32_t > fastCaseFoldingDjbHash(StringRef Buffer, uint32_t H)
static UTF32 foldCharDwarf(UTF32 C)
static StringRef toUTF8(UTF32 C, MutableArrayRef< UTF8 > Storage)
static UTF32 chopOneUTF32(StringRef &Buffer)
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
MutableArrayRef - Represent a mutable reference to an array (0 or more elements consecutively in memo...
StringRef - Represent a constant reference to a string, i.e.
constexpr bool empty() const
empty - Check if the string is empty.
StringRef drop_front(size_t N=1) const
Return a StringRef equal to 'this' but with the first N elements dropped.
@ C
The default llvm calling convention, compatible with C.
int foldCharSimple(int C)
Fold input unicode character according the Simple unicode case folding rules.
This is an optimization pass for GlobalISel generic memory operations.
ConversionResult ConvertUTF8toUTF32(const UTF8 **sourceStart, const UTF8 *sourceEnd, UTF32 **targetStart, UTF32 *targetEnd, ConversionFlags flags)
Convert a partial UTF8 sequence to UTF32.
uint32_t caseFoldingDjbHash(StringRef Buffer, uint32_t H=5381)
Computes the Bernstein hash after folding the input according to the Dwarf 5 standard case folding ru...
ConversionResult ConvertUTF32toUTF8(const UTF32 **sourceStart, const UTF32 *sourceEnd, UTF8 **targetStart, UTF8 *targetEnd, ConversionFlags flags)
uint32_t djbHash(StringRef Buffer, uint32_t H=5381)
The Bernstein hash function used by the DWARF accelerator tables.