aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineScheduler.cpp
diff options
context:
space:
mode:
authorDaniel Paoliello <danpao@microsoft.com>2024-11-13 15:35:03 -0800
committerGitHub <noreply@github.com>2024-11-13 15:35:03 -0800
commitfa0cf3d39e03c3c63478f30a4c8c17d119b54b7f (patch)
tree14333d1370f514eb74b076e0a8817a3e5be60a4d /llvm/lib/CodeGen/MachineScheduler.cpp
parentec066d30e29fce388b1722971970d73ec65f14fb (diff)
downloadllvm-fa0cf3d39e03c3c63478f30a4c8c17d119b54b7f.zip
llvm-fa0cf3d39e03c3c63478f30a4c8c17d119b54b7f.tar.gz
llvm-fa0cf3d39e03c3c63478f30a4c8c17d119b54b7f.tar.bz2
[llvm][aarch64] Fix Arm64EC name mangling algorithm (#115567)
Arm64EC uses a special name mangling mode that adds `$$h` between the symbol name and its type. In MSVC's name mangling `@` is used to separate the name and type BUT it is also used for other purposes, such as the separator between paths in a fully qualified name. The original algorithm was quite fragile and made assumptions that didn't hold true for all MSVC mangled symbols, so instead of trying to improve this algorithm we are now using the demangler to indicate where the insertion point should be (i.e., to parse the fully-qualified name and return the current string offset). Also fixed `isArm64ECMangledFunctionName` to search for `@$$h` since the `$$h` must always be after a `@`. Fixes #115231
Diffstat (limited to 'llvm/lib/CodeGen/MachineScheduler.cpp')
0 files changed, 0 insertions, 0 deletions