14#ifndef LLVM_PROFILEDATA_ITANIUMMANGLINGCANONICALIZER_H
15#define LLVM_PROFILEDATA_ITANIUMMANGLINGCANONICALIZER_H
72 using Key = uintptr_t;
Canonicalizer for mangled names.
@ Encoding
The mangling fragment is an <encoding>.
@ Name
The mangling fragment is a <name> (or a predefined <substitution>).
@ Type
The mangling fragment is a <type>.
LLVM_ABI Key lookup(StringRef Mangling)
Find a canonical key for the specified mangling, if one has already been formed.
LLVM_ABI Key canonicalize(StringRef Mangling)
Form a canonical key for the specified mangling.
LLVM_ABI ItaniumManglingCanonicalizer()
void operator=(const ItaniumManglingCanonicalizer &)=delete
ItaniumManglingCanonicalizer(const ItaniumManglingCanonicalizer &)=delete
@ InvalidFirstMangling
The first equivalent mangling is invalid.
@ InvalidSecondMangling
The second equivalent mangling is invalid.
@ ManglingAlreadyUsed
Both the equivalent manglings have already been used as components of some other mangling we've looke...
LLVM_ABI EquivalenceError addEquivalence(FragmentKind Kind, StringRef First, StringRef Second)
Add an equivalence between First and Second.
LLVM_ABI ~ItaniumManglingCanonicalizer()
StringRef - Represent a constant reference to a string, i.e.
This is an optimization pass for GlobalISel generic memory operations.
@ First
Helpers to iterate all locations in the MemoryEffectsBase class.