[lld] 15f0ad2 - [ELF] Bump the limit of thunk creation passes from 10 to 15
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 16 14:05:30 PDT 2020
Author: Fangrui Song
Date: 2020-09-16T14:05:22-07:00
New Revision: 15f0ad2fa29beaf1dad1548ccb97c2c729ea53cd
URL: https://github.com/llvm/llvm-project/commit/15f0ad2fa29beaf1dad1548ccb97c2c729ea53cd
DIFF: https://github.com/llvm/llvm-project/commit/15f0ad2fa29beaf1dad1548ccb97c2c729ea53cd.diff
LOG: [ELF] Bump the limit of thunk creation passes from 10 to 15
I have noticed that a 374MiB powerpc64le 'ld.lld' requires 11 passes to link.
There is a ThunkSection (whose parent OutputSection is ".text" of 169MiB) with 12867 thunks.
Added:
Modified:
lld/ELF/Writer.cpp
Removed:
################################################################################
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 5ef37e9ecb89..f42686f08e64 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -1701,8 +1701,8 @@ template <class ELFT> void Writer<ELFT>::finalizeAddressDependentContent() {
bool changed = target->needsThunks && tc.createThunks(outputSections);
// With Thunk Size much smaller than branch range we expect to
- // converge quickly; if we get to 10 something has gone wrong.
- if (changed && tc.pass >= 10) {
+ // converge quickly; if we get to 15 something has gone wrong.
+ if (changed && tc.pass >= 15) {
error("thunk creation not converged");
break;
}
More information about the llvm-commits
mailing list