Author: Fangrui Song Date: 2020-11-29T12:36:27-08:00 New Revision: 048b16f7fbb745635b48d31ee957bb8865597606
URL: https://github.com/llvm/llvm-project/commit/048b16f7fbb745635b48d31ee957bb8865597606 DIFF: https://github.com/llvm/llvm-project/commit/048b16f7fbb745635b48d31ee957bb8865597606.diff LOG: [ELF] Check --orphan-handling=place (default value) early The function took 1% (161MiB clang) to 1.7% (an 4.9GiB executable) time. Added: Modified: lld/ELF/LinkerScript.cpp Removed: ################################################################################ diff --git a/lld/ELF/LinkerScript.cpp b/lld/ELF/LinkerScript.cpp index a03e21c55503..5bb977d6882b 100644 --- a/lld/ELF/LinkerScript.cpp +++ b/lld/ELF/LinkerScript.cpp @@ -802,6 +802,8 @@ void LinkerScript::addOrphanSections() { void LinkerScript::diagnoseOrphanHandling() const { llvm::TimeTraceScope timeScope("Diagnose orphan sections"); + if (config->orphanHandling == OrphanHandlingPolicy::Place) + return; for (const InputSectionBase *sec : orphanSections) { // Input SHT_REL[A] retained by --emit-relocs are ignored by // computeInputSections(). Don't warn/error. @@ -812,7 +814,7 @@ void LinkerScript::diagnoseOrphanHandling() const { StringRef name = getOutputSectionName(sec); if (config->orphanHandling == OrphanHandlingPolicy::Error) error(toString(sec) + " is being placed in '" + name + "'"); - else if (config->orphanHandling == OrphanHandlingPolicy::Warn) + else warn(toString(sec) + " is being placed in '" + name + "'"); } } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits