[all-commits] [llvm/llvm-project] d49626: [Coverage] Improve performance of propagating Coun...
NAKAMURA Takumi via All-commits
all-commits at lists.llvm.org
Tue May 5 04:39:26 PDT 2026
Branch: refs/heads/users/chapuni/cov/expansion-rebased
Home: https://github.com/llvm/llvm-project
Commit: d496262da73e78e7b1c103f340f223b33c486b91
https://github.com/llvm/llvm-project/commit/d496262da73e78e7b1c103f340f223b33c486b91
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Log Message:
-----------
[Coverage] Improve performance of propagating Counter of Expansions
This improves `-dump-coverage-mapping` (939,498 lines) for
`RISCVInstructionSelector.cpp` from 30m to 1m18s and also improves
`llvm-cov` for `check-llvm` from 33m to 24s.
The current implementation behaved O(N^2) order with hundreds
thousands of Expansions.
This assumes:
- Records are partitioned by FileID.
- ExpandedFileID doesn't point FileID==0, since it is the root.
- The Count in Expansion is propagated from 1st Record in
ExpandedFileID.
Therefore another fact below can be assumed.
- Propagation chain consists of Expansions at each 1st Record.
This scans the Record at most a few times. O(N) is expected.
Fixes #113173
Commit: af0a4a0dbe11e8985de5b85f61a4f80b8d47ddee
https://github.com/llvm/llvm-project/commit/af0a4a0dbe11e8985de5b85f61a4f80b8d47ddee
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Log Message:
-----------
Get rid of the assumption "[0] is the root"
Commit: 3dfc955aa666be72904a0fb58ad330fffb265792
https://github.com/llvm/llvm-project/commit/3dfc955aa666be72904a0fb58ad330fffb265792
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Log Message:
-----------
Dissolve one condition to invert the loop
Commit: 243edbf6453bc98c2ba501af5e42663413e10f7e
https://github.com/llvm/llvm-project/commit/243edbf6453bc98c2ba501af5e42663413e10f7e
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
M clang/test/CoverageMapping/comment-in-macro.c
M clang/test/CoverageMapping/comment.cpp
M clang/test/CoverageMapping/control-flow-macro.c
M clang/test/CoverageMapping/if.cpp
M clang/test/CoverageMapping/include-macros.c
M clang/test/CoverageMapping/includehell.cpp
M clang/test/CoverageMapping/label.cpp
M clang/test/CoverageMapping/loopmacro.c
M clang/test/CoverageMapping/macro-expansion.c
M clang/test/CoverageMapping/macro-expressions.cpp
M clang/test/CoverageMapping/macroception.c
M clang/test/CoverageMapping/macroparams.c
M clang/test/CoverageMapping/macroparams2.c
M clang/test/CoverageMapping/macros.c
M clang/test/CoverageMapping/macroscopes.cpp
M clang/test/CoverageMapping/mcdc-scratch-space.c
M clang/test/CoverageMapping/mcdc-system-headers.cpp
M clang/test/CoverageMapping/moremacros.c
M clang/test/CoverageMapping/switchmacro.c
M clang/test/CoverageMapping/trymacro.cpp
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
Revise w/ expansion walker
Conflicts:
llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Commit: 90c3df2013931da53f163baea55b41c8b8310f47
https://github.com/llvm/llvm-project/commit/90c3df2013931da53f163baea55b41c8b8310f47
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2026-05-05 (Tue, 05 May 2026)
Changed paths:
Log Message:
-----------
Merge commit 'llvmorg-23-init-13816-g0135cf99f3a2' into HEAD
Conflicts:
llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
Compare: https://github.com/llvm/llvm-project/compare/d496262da73e%5E...90c3df201393
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list