8#ifndef LLVM_SUPPORT_UNICODECHARRANGES_H
9#define LLVM_SUPPORT_UNICODECHARRANGES_H
17#define DEBUG_TYPE "unicode"
69 bool rangesAreValid()
const {
73 if (
I != Ranges.
begin() && Prev >=
I->Lower) {
76 LLVM_DEBUG(
dbgs() <<
" should be less than succeeding lower bound 0x");
80 if (
I->Upper <
I->Lower) {
assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
ConstantRange Range(APInt(BitWidth, Low), APInt(BitWidth, High))
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
const_pointer const_iterator
LLVM Value Representation.
bool contains(uint32_t C) const
Returns true if the character set contains the Unicode code point C.
ArrayRef< UnicodeCharRange > CharRanges
UnicodeCharSet(CharRanges Ranges)
Constructs a UnicodeCharSet instance from an array of UnicodeCharRanges.
@ C
The default llvm calling convention, compatible with C.
bool operator<(uint32_t Value, UnicodeCharRange Range)
This is an optimization pass for GlobalISel generic memory operations.
auto binary_search(R &&Range, T &&Value)
Provide wrappers to std::binary_search which take ranges instead of having to pass begin/end explicit...
LLVM_ABI raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
LLVM_ABI void write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style, std::optional< size_t > Width=std::nullopt)
Represents a closed range of Unicode code points [Lower, Upper].