[all-commits] [llvm/llvm-project] a1b21e: [GCov] Emit memset instead of stores in __llvm_gco...
aeubanks via All-commits
all-commits at lists.llvm.org
Thu Aug 5 22:40:49 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: a1b21ed3fb4a9f4b85d8fa29f95c31b737e0840f
https://github.com/llvm/llvm-project/commit/a1b21ed3fb4a9f4b85d8fa29f95c31b737e0840f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2021-08-05 (Thu, 05 Aug 2021)
Changed paths:
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
A llvm/test/Transforms/GCOVProfiling/reset.ll
Log Message:
-----------
[GCov] Emit memset instead of stores in __llvm_gcov_reset
For a very large module, __llvm_gcov_reset can become very large.
__llvm_gcov_reset previously emitted stores to a bunch of globals in one
huge basic block. MemCpyOpt would turn many of these stores into
memsets, and updating MemorySSA would be extremely slow.
Verified that this makes the compile time of certain files go down
drastically (20min -> 5min).
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D107538
More information about the All-commits
mailing list