• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / docc / 30614148740
65%

Build:
DEFAULT BRANCH: main
Ran 31 Jul 2026 07:56AM UTC
Jobs 7
Files 547
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

31 Jul 2026 07:49AM UTC coverage: 64.691% (+0.2%) from 64.531%
30614148740

push

github

web-flow
Adding ProducerIntoConsumer MapFusion into the new, recursive MapFusionPass (#873)

Refactored the code of MapFusion Transform into MapFusionByAccessWorker.

The old transform still exists for its use as standalone transformation for now and also to run the old pass to cover everything not yet implemented in the new ByAccessWorker.

Refactored MapFusionByDomain into LoopFusionPass, the sequential & recursive loop-fusion logic into a base that handles the existing by-domain fusion and the by-access fusion, separately disablable.

For this, the existing per-loop caches of LoopFusionPass have been extended to contain the data needed by by-access fusion (assumptions, non-map loops and more details about subsets and locations of accesses).

LoopFusionPass still maintains these caches as fusions happen, so it never needs to clear any analysis.

For now, the MapFusionByAccessWorker has not been verified and skips any ConsumerIntoProducer fusions, as that is a greater change to how the cached data needs to be updated and its also a smaller portion of compile-time.

The MapFusionByAccessWorker was refactored to use the FusionLoopCandidate structure to access any cached data. It can be used as a basis for a new Transformation, that simply creates these per-loop structures on the fly, so that Transform and efficient pass can share code again.
The ByAccessWorker was also optimized to support per "fusion container" selection of replacing memory accesses with local transients and to consider the domain-equality checks already done by the NewMapFusionPass.

If the domains match, we can leave in the indirect writes in, which makes the fused code is a valid substitute for the original loop, avoiding the need for any loop-duplication.

Elliding same-subset indirect write-read patterns in the same block or successive blocks is a far easier problem to solve, then leaving the original loop lying around and hoping that it can be proven completely dead and removed by later ... (continued)

1388 of 1894 new or added lines in 13 files covered. (73.28%)

45088 of 69697 relevant lines covered (64.69%)

725.27 hits per line

Uncovered Changes

Lines Coverage ∆ File
292
63.27
opt/src/passes/loop_fusion/loop_fusion_by_access.cpp
151
79.59
opt/src/passes/loop_fusion/loop_fusion_pass.cpp
41
80.25
0.91% opt/src/transformations/map_fusion.cpp
10
51.39
17.49% opt/src/passes/normalization/map_fusion.cpp
9
78.11
2.24% sdfg/src/symbolic/assumptions.cpp
1
66.67
opt/include/sdfg/passes/loop_fusion/fusion_types.h
1
50.0
opt/include/sdfg/passes/loop_fusion/loop_fusion_by_accesses.h
1
0.0
opt/include/sdfg/passes/loop_fusion/loop_fusion_pass.h
Jobs
ID Job ID Ran Files Coverage
1 llvm - 30614148740.1 31 Jul 2026 07:56AM UTC 26
33.37
GitHub Action Run
2 python-3.11 - 30614148740.2 31 Jul 2026 08:34AM UTC 18
78.52
GitHub Action Run
3 sdfg - 30614148740.3 31 Jul 2026 09:36AM UTC 488
67.54
GitHub Action Run
4 pytorch - 30614148740.4 31 Jul 2026 08:09AM UTC 15
77.55
GitHub Action Run
5 python-3.12 - 30614148740.5 31 Jul 2026 08:09AM UTC 18
78.52
GitHub Action Run
6 python-3.14 - 30614148740.6 31 Jul 2026 08:17AM UTC 18
78.52
GitHub Action Run
7 python-3.13 - 30614148740.7 31 Jul 2026 08:17AM UTC 18
78.52
GitHub Action Run
Source Files on build 30614148740
  • Tree
  • List 547
  • Changed 12
  • Source Changed 10
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #30614148740
  • e452b9b0 on github
  • Prev Build on main (#30581814647)
  • Next Build on main (#30621954616)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc