llvm-mirror/tools
James Henderson 25eba33f86 [llvm-objcopy] Cache gnu_debuglink's target CRC
.gnu_debuglink section contains information regarding file with
debugging symbols, identified by its CRC32. This target file is not
intended to ever change or it would invalidate the stored checksum, yet
the checksum is calculated over and over again for each of the objects
inside the archive, usually hundreds of times.

This patch precomputes the CRC32 of the target once and then reuses the
value where required, saving lots of redundant I/O.

The error message reported should stay the same, although now it might
be reported earlier.

Reviewed by: jhenderson, jakehehrlich, MaskRay

Differential Revision: https://reviews.llvm.org/D61343

Patch by Michal Janiszewski

llvm-svn: 360661
2019-05-14 10:59:04 +00:00
..
bugpoint [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
bugpoint-passes Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
dsymutil [dsymutil] Put Swift interface files into a per-arch subdirectory. 2019-04-23 16:42:35 +00:00
gold Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
llc Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
lli [ORC] Replace the LLJIT/LLLazyJIT Create methods with Builder utilities. 2019-04-29 22:37:27 +00:00
llvm-ar [llvm-ar] Support N [count] modifier 2019-03-19 16:09:54 +00:00
llvm-as Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-as-fuzzer Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-bcanalyzer Use llvm::stable_sort. NFC 2019-04-22 15:53:43 +00:00
llvm-c-test [llvm-c-test] Make include-all.c do what its name says it does 2019-05-06 11:31:45 +00:00
llvm-cat Simplify llvm-cat help 2019-05-13 11:29:25 +00:00
llvm-cfi-verify [CommandLine] Provide parser<unsigned long> instantiation to allow cl::opt<uint64_t> on LP64 platforms 2019-04-24 02:40:20 +00:00
llvm-config [cmake] Add function for building native tool 2019-04-02 15:58:03 +00:00
llvm-cov Use llvm::stable_sort. NFC 2019-04-22 15:53:43 +00:00
llvm-cvtres lld-link: Add /force:multipleres extension to make dupe resource diag non-fatal 2019-05-02 21:21:55 +00:00
llvm-cxxdump Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-cxxfilt [llvm-cxxfilt] Fix -Wshadow warning. NFCI. 2019-05-09 15:58:16 +00:00
llvm-cxxmap Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-diff Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-dis Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-dwarfdump llvm-dwarfdump: Add dwo parsing to --statistics. 2019-05-09 21:53:33 +00:00
llvm-dwp [llvm-dwp] Use color-formatted error reporting 2019-02-12 20:37:33 +00:00
llvm-elfabi Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-exegesis [llvm-exegesis] BenchmarkRunner::runConfiguration(): write small snippet to memory 2019-05-07 12:28:08 +00:00
llvm-extract [llvm-extract] Expose the group extraction feature of the BlockExtractor 2019-04-29 16:14:03 +00:00
llvm-go Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-isel-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
llvm-itanium-demangle-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
llvm-jitlink [JITLink] Add a test for zero-filled content. 2019-05-12 22:26:33 +00:00
llvm-jitlistener Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-link Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-lto [CommandLine] Provide parser<unsigned long> instantiation to allow cl::opt<uint64_t> on LP64 platforms 2019-04-24 02:40:20 +00:00
llvm-lto2 Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
llvm-mc [DWARF] Make -g with empty assembler source work better. 2019-03-01 20:58:04 +00:00
llvm-mc-assemble-fuzzer Fix some include order and file headers issues. NFC 2019-02-21 07:42:31 +00:00
llvm-mc-disassemble-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
llvm-mca [MCA] Add support for nested and overlapping region markers 2019-05-09 15:18:09 +00:00
llvm-microsoft-demangle-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-modextract Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-mt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-nm [Object] Fix macho-invalid.test 2019-05-10 10:47:30 +00:00
llvm-objcopy [llvm-objcopy] Cache gnu_debuglink's target CRC 2019-05-14 10:59:04 +00:00
llvm-objdump [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
llvm-opt-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-opt-report [CommandLineParser] Add DefaultOption flag 2019-04-15 17:18:10 +00:00
llvm-pdbutil Revert r359520 2019-04-30 10:09:28 +00:00
llvm-profdata [llvm-profdata] Add overlap command to compute similarity b/w two profile files 2019-04-30 21:19:12 +00:00
llvm-rc Fix typos: (re)?sor?uce -> (re)?source 2019-04-26 05:56:23 +00:00
llvm-readobj [Object] Change SymbolicFile::printSymbolName to use Error 2019-05-10 09:59:04 +00:00
llvm-rtdyld [JITLink] Add a test for zero-filled content. 2019-05-12 22:26:33 +00:00
llvm-shlib [llvm-shlib] Fix cross-compilation for LLVM-C 2019-04-02 15:58:05 +00:00
llvm-size Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-special-case-list-fuzzer Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-split Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-stress Avoid cppcheck operator precedence warnings. NFCI. 2019-05-03 13:50:38 +00:00
llvm-strings Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-symbolizer [CommandLine] Provide parser<unsigned long> instantiation to allow cl::opt<uint64_t> on LP64 platforms 2019-04-24 02:40:20 +00:00
llvm-undname llvm-undname: Add a -raw-file flag to pass a raw buffer to microsoftDemangle 2019-04-16 12:51:40 +00:00
llvm-xray [DebugInfo] add SectionedAddress to DebugInfo interfaces. 2019-02-27 13:17:36 +00:00
llvm-yaml-numeric-parser-fuzzer Fix file header issues in fuzzers. NFC 2019-02-21 07:57:14 +00:00
lto Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
msbuild vs integration: vs2019 support 2019-04-30 12:41:33 +00:00
obj2yaml [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
opt [DebugInfo] Delete TypedDINodeRef 2019-05-07 02:06:37 +00:00
opt-viewer [opt-viewer] Teach optrecord.py about !Failure tags 2019-03-27 18:35:04 +00:00
remarks-shlib Reland "[Remarks] Add a new Remark / RemarkParser abstraction" 2019-03-19 21:11:07 +00:00
sancov Change some StringRef::data() reinterpret_cast to bytes_begin() or arrayRefFromStringRef() 2019-04-07 03:58:42 +00:00
sanstats [DebugInfo] add SectionedAddress to DebugInfo interfaces. 2019-02-27 13:17:36 +00:00
verify-uselistorder Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
xcode-toolchain [CMake] Use LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES 2018-10-15 21:20:02 +00:00
yaml2obj [NFC] yaml2obj/yam2elf.cpp whitespace changes: dos2unix removed CRs. 2019-05-11 17:03:36 +00:00
CMakeLists.txt Fix most of LLVM's tests with LLVM_ENABLE_PIC=OFF 2019-01-16 20:44:36 +00:00
LLVMBuild.txt [JITLink] Add llvm-jitlink subdirectory to tools/LLVMBuild.txt 2019-04-20 17:58:29 +00:00