LLVM
15.0.0git
|
Namespaces | |
FIXME | |
Functions | |
Itanium Name Demangler i e convert the string _Z1fv into | f ()". You can also use the CRTP base ManglingParser to perform some simple analysis on the mangled name |
Itanium Name Demangler i e convert the string _Z1fv into | or (in LLVM) use the opaque ItaniumPartialDemangler to query the demangled AST. Why are there multiple copies of the this library in the source tree? --------------------------------------------------------------------- The canonical sources are in libcxxabi/src/demangle and some of the files are copied to llvm/include/llvm/Demangle. The simple reason for this comes from before the monorepo |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be | available (i.e., on Windows) |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in | libcxxabi (ie, the MSVC demangler, ItaniumPartialDemangler) |
Variables | |
Itanium Name Demangler | Library |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle | symbols |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement | __cxa_demangle |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of | places |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these | differences |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic | library |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic then do the work first in | libcxxabi |
Itanium Name Demangler i e convert the string _Z1fv into and both[sub] projects need to demangle but neither can depend on each other *libcxxabi needs the demangler to implement which is part of the itanium ABI spec *LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic then do the work first in then run the cp to llvm sh script in src demangle This script takes as an optional argument the path to | llvm |
FIXME::unit | |
test_demangle | cpp |
test_demangle and llvm unittest Demangle The llvm directory should only get tests for stuff not included in the core library In the future | though |
test_demangle and llvm unittest Demangle The llvm directory should only get tests for stuff not included in the core library In the future we should probably move all the tests to LLVM It is also a really good idea to run libFuzzer after non trivial | changes |
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be available | ( | i. | e., |
on | Windows | ||
) |
Referenced by llvm::BitVector::apply(), llvm::apply_tuple(), llvm::detail::apply_tuple_impl(), canDemoteGlobalVar(), llvm::CastInfo< To, PointerUnion< PTs... > >::doCast(), llvm::ValueFromPointerCast< To, From, Derived >::doCast(), llvm::UniquePtrCast< To, From >::doCast(), llvm::OptionalValueCast< To, From >::doCast(), llvm::ConstStrippingForwardingCast< To, const PointerUnion< PTs... >, CastInfo< To, PointerUnion< PTs... > > >::doCast(), llvm::ForwardToPointerCast< To, From, ForwardTo >::doCast(), llvm::CastInfo< To, From, Enable >::doCast(), llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::doCast(), llvm::DefaultDoCastIfPossible< To, PointerUnion< PTs... >, CastInfo< To, PointerUnion< PTs... > > >::doCastIfPossible(), llvm::UniquePtrCast< To, From >::doCastIfPossible(), llvm::ConstStrippingForwardingCast< To, const PointerUnion< PTs... >, CastInfo< To, PointerUnion< PTs... > > >::doCastIfPossible(), llvm::CastInfo< To, From, Enable >::doCastIfPossible(), llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::doCastIfPossible(), expandPow(), llvm::ScalarEvolution::getAddExpr(), getInlineImmVal32(), getLit32Encoding(), llvm::MachineFunction::getMachineMemOperand(), llvm::SPIRV::ModuleAnalysisInfo::getOrCreateMBBRegister(), llvm::GetReturnInfo(), llvm::sys::getSwappedBytes(), llvm::detail::IEEEFloat::IEEEFloat(), llvm::AMDGPU::isInlinableLiteral32(), llvm::isMathLibCallNoop(), llvm::CastInfo< To, PointerUnion< PTs... > >::isPossible(), llvm::CastIsPossible< To, From * >::isPossible(), llvm::CastIsPossible< To, Optional< From > >::isPossible(), llvm::ConstStrippingForwardingCast< To, const PointerUnion< PTs... >, CastInfo< To, PointerUnion< PTs... > > >::isPossible(), llvm::ForwardToPointerCast< To, From, ForwardTo >::isPossible(), llvm::CastInfo< To, From, std::enable_if_t<!is_simple_type< From >::value > >::isPossible(), llvm::AMDGPULegalizerInfo::legalizeFDIV32(), llvm::AMDGPULegalizerInfo::legalizeFDIVFastIntrin(), llvm::lintFunction(), lowerFROUND(), LowerFROUND(), optimizeWithFDivFast(), llvm::GCOVFile::print(), llvm::CountSumOrPercent::reset(), llvm::OverlapStats::score(), llvm::MCContext::setDwarfFormat(), llvm::MachineMemOperand::setFlags(), llvm::thread::thread(), llvm::verifyFunction(), llvm::InstCombinerImpl::visitLandingPadInst(), and llvm::X86TargetLowering::X86TargetLowering().
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in libcxxabi | ( | ie | , |
the MSVC | demangler, | ||
ItaniumPartialDemangler | |||
) |
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement __cxa_demangle |
Definition at line 22 of file README.txt.
test_demangle and llvm unittest Demangle The llvm directory should only get tests for stuff not included in the core library In the future we should probably move all the tests to LLVM It is also a really good idea to run libFuzzer after non trivial changes |
Definition at line 60 of file README.txt.
test_demangle cpp |
Definition at line 55 of file README.txt.
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these differences |
Definition at line 33 of file README.txt.
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic then do the work first in then run the cp to llvm sh script in src demangle This script takes as an optional argument the path to and copies the changes you made to libcxxabi over Note that this script just blindly overwrites all changes to the generic library in so be careful Because the core demangler needs to work in libcxxabi |
Definition at line 37 of file README.txt.
Definition at line 2 of file README.txt.
Referenced by llvm::yaml::MappingTraits< const InterfaceFile * >::NormalizedTBD::NormalizedTBD().
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic library |
Definition at line 36 of file README.txt.
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of and cannot rely on the system s __cxa_demangle because it a might not be and b may not be up to date on the latest language features The copy of the demangler in LLVM has some extra stuff that aren t needed in which depend on the shared generic components Despite these we want to keep the core generic demangling library identical between both copies to simplify development and testing If you re working on the generic then do the work first in then run the cp to llvm sh script in src demangle This script takes as an optional argument the path to and copies the changes you made to libcxxabi over Note that this script just blindly overwrites all changes to the generic library in llvm |
Definition at line 38 of file README.txt.
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle but neither can depend on each other* libcxxabi needs the demangler to implement which is part of the itanium ABI spec* LLVM needs a copy for a bunch of places |
Definition at line 25 of file README.txt.
Itanium Name Demangler i e convert the string _Z1fv into and both [sub] projects need to demangle symbols |
Definition at line 20 of file README.txt.
Referenced by llvm::object::ELFFile< ELFT >::getSection(), llvm::object::ELFFile< ELFT >::getSymbol(), and LLVMObjectFileCopySymbolIterator().