[all-commits] [llvm/llvm-project] 9b7f61: [COFF] Paritally inline Symbol::getName, NFC
Reid Kleckner via All-commits
all-commits at lists.llvm.org
Sun May 3 08:20:13 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 9b7f6146bd4734f4ded2c3e572261961a43d3ef2
https://github.com/llvm/llvm-project/commit/9b7f6146bd4734f4ded2c3e572261961a43d3ef2
Author: Reid Kleckner <rnk at google.com>
Date: 2020-05-03 (Sun, 03 May 2020)
Changed paths:
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
Log Message:
-----------
[COFF] Paritally inline Symbol::getName, NFC
Commit: 53913a65b408ade2956061b4c0aaed6bba907403
https://github.com/llvm/llvm-project/commit/53913a65b408ade2956061b4c0aaed6bba907403
Author: Reid Kleckner <rnk at google.com>
Date: 2020-05-03 (Sun, 03 May 2020)
Changed paths:
M llvm/lib/Support/Path.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
Optimize path::remove_dots
LLD calls this on every source file string in every object file when
writing PDBs, so it is somewhat hot.
Avoid rewriting paths that do not contain path traversal components
(./..). Use find_first_not_of(separators) directly instead of using the
path iterators. The path component iterators appear to be slow, and
directly searching for slashes makes it easier to find double separators
that need to be canonicalized.
I discovered that the VFS relies on remote_dots to not canonicalize
early slashes (/foo or C:/foo) on Windows, so I had to leave that
behavior behind with unit tests for it. This is undesirable, but I claim
that my change is NFC.
Compare: https://github.com/llvm/llvm-project/compare/682f0b366be2...53913a65b408
More information about the All-commits
mailing list