LLVM is presumably moving towards `std::string_view` -
`StringRef::startswith` is deprecated on tip. `SmallString::startswith`
was just renamed there (maybe with some small deprecation inbetween, but
if so, we've missed it).
The `SmallString::startswith` references were moved to
`.str().starts_with()`, rather than adding the `starts_with` on
`stable/20230725` as we only had a few of them. Open to switching that
over if anyone feels strongly though.
This is a separate tool so we can use all of LLVM without worrying about
creating a dependency from the demangler on LLVM's libsupport.
I am going to use it to fix cmpcodesize for the new mangling by eliminating
cmpcodesize's usage of regex to classify symbols. Instead, we can just read in
the yaml version of the symbol trees for each demangled node and process that
instead.
rdar://41146023