aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorJason Molenda <jason@molenda.com>2022-05-26 00:30:12 -0700
committerJason Molenda <jason@molenda.com>2022-05-26 11:12:37 -0700
commit8a467284d5608522fdf80cb78056d42d28f5ebb5 (patch)
treec86c66c066dbe835ecd0aa2efabd70ef65c95c43 /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
parentce54b22657f01d1c40de4941ceb6e7119848aecf (diff)
downloadllvm-8a467284d5608522fdf80cb78056d42d28f5ebb5.zip
llvm-8a467284d5608522fdf80cb78056d42d28f5ebb5.tar.gz
llvm-8a467284d5608522fdf80cb78056d42d28f5ebb5.tar.bz2
Defer source path remap tilde expansion until source file use
When reading source path remappings out of a dSYM, lldb currently does tilde expansion -- expanding the tilde-username and checking that the destination pathname exists, for each dSYM with the path remappings. This cost happens during lldb's initial process launch / load, an especially perf-sensitive time. Inside Apple, we have dSYMs with source path remappings pointing to NFS directories where these extra stats for every dSYM can be very expensive if the network is slow. This patch instead keeps the source path mapping in the original tilde-username terms and does the tilde expansion when we need to read a specific source file from one of the modules. We'll be stat'ing all of those inodes to load the source file anyway, so the fact that we do the tilde expansion on every source file we load, it doesn't cost us significantly. Differential Revision: https://reviews.llvm.org/D126435 rdar://77091379 (cherry picked from commit c274b6e5830ea88d3f55d6dc1d2b99e38cf6595e)
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
0 files changed, 0 insertions, 0 deletions