[Lldb-commits] [PATCH] D158470: [lldb] Add support for recognizing swift mangled names

Felipe de Azevedo Piovezan via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Aug 22 09:23:28 PDT 2023


fdeazeve added inline comments.


================
Comment at: lldb/source/Core/Mangled.cpp:61
 
+  // Swift's older style of mangling used "_T" as a mangling prefix. This can
+  // lead to false positives with other symbols that just so happen to start
----------------
JDevlieghere wrote:
> aprantl wrote:
> > Feel free to completely ignore this, it's a pointless micro optimization.
> > 
> > I'm curious if it would be more efficient to write this as 
> > 
> > ```
> > switch (name[0]) {
> >   case '?':     return Mangled::eManglingSchemeMSVC;
> >   case '_': 
> >      switch(name[1]) {
> >         ...
> >      }
> >   case '$': 
> >      switch(name[1]) {
> >         ...
> >      }
> > ```
> > or if it would actually be slower than the chain of "vector" comparisons we have right now?
> I actually started writing a similar comment before discarding it. Even if this code is as hot as I expect it to be, I don't think it would outweigh the complexity and the potential for bugs. I really like how you can glance at the code and see the different mangling schemes and that's the first thing we'd lose. Anyway happy to be proven wrong too. 
Honestly the optimizer is pretty good at doing those, look at the IR: https://godbolt.org/z/PY3TeadbM


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D158470/new/

https://reviews.llvm.org/D158470



More information about the lldb-commits mailing list