#include #include #include #include #include ">

LLVM: lib/Demangle/RustDemangle.cpp File Reference (original) (raw)

#include "[llvm/Demangle/Demangle.h](Demangle%5F8h%5Fsource.html)"
#include "[llvm/Demangle/StringViewExtras.h](StringViewExtras%5F8h%5Fsource.html)"
#include "[llvm/Demangle/Utility.h](Demangle%5F2Utility%5F8h%5Fsource.html)"
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstring>
#include <limits>
#include <string_view>

Go to the source code of this file.

Functions
static bool isDigit (const char C)
static bool isHexDigit (const char C)
static bool isLower (const char C)
static bool isUpper (const char C)
static bool isValid (const char C)
Returns true if C is a valid mangled character: <0-9a-zA-Z_>.
static bool parseBasicType (char C, BasicType &Type)
static bool isAsciiPrintable (uint64_t CodePoint)
Returns true if CodePoint represents a printable ASCII character.
static bool decodePunycodeDigit (char C, size_t &Value)
static void removeNullBytes (OutputBuffer &Output, size_t StartIdx)
static bool encodeUTF8 (size_t CodePoint, char *Output)
static bool decodePunycode (std::string_view Input, OutputBuffer &Output)

decodePunycode()

Definition at line 1105 of file RustDemangle.cpp.

References llvm::sampleprof::Base, llvm::CallingConv::C, decodePunycodeDigit(), encodeUTF8(), OutputBuffer::getCurrentPosition(), I, OutputBuffer::insert(), isValid(), N, removeNullBytes(), and T.

decodePunycodeDigit()

bool decodePunycodeDigit ( char C, size_t & Value ) inlinestatic

encodeUTF8()

bool encodeUTF8 ( size_t CodePoint, char * Output ) inlinestatic

isAsciiPrintable()

Returns true if CodePoint represents a printable ASCII character.

Definition at line 799 of file RustDemangle.cpp.

isDigit()

isHexDigit()

isLower()

isUpper()

isValid()

Returns true if C is a valid mangled character: <0-9a-zA-Z_>.

Definition at line 181 of file RustDemangle.cpp.

References llvm::CallingConv::C, llvm::isDigit(), llvm::isLower(), and llvm::isUpper().

Referenced by llvm::dwarf_linker::parallel::CompileUnit::assignTypeNames(), llvm::MachineIRBuilder::buildConstDbgValue(), llvm::MachineIRBuilder::buildDirectDbgValue(), llvm::MachineIRBuilder::buildFIDbgValue(), llvm::MachineIRBuilder::buildIndirectDbgValue(), llvm::MachineIRBuilder::buildLoadInstr(), llvm::BuildMI(), llvm::BuildMI(), llvm::MachineIRBuilder::buildStore(), decodePunycode(), llvm::DiagnosticInfoRegAllocFailure::DiagnosticInfoRegAllocFailure(), llvm::SparseMultiSet< PhysRegSUOper, MCRegUnit, MCRegUnitToIndex, uint16_t >::findIndex(), LowerINTRINSIC_W_CHAIN(), llvm::CombinerHelper::matchCombineInsertVecElts(), llvm::MachineMemOperand::print(), llvm::LoopVectorizationCostModel::setVectorizedCallDecision(), and llvm::RegisterBankInfo::InstructionMapping::verify().

parseBasicType()

bool parseBasicType ( char C, BasicType & Type ) static

removeNullBytes()

void removeNullBytes ( OutputBuffer & Output, size_t StartIdx ) static