diff options
| author | Lucas Ramirez <11032120+lucas-rami@users.noreply.github.com> | 2026-02-02 01:33:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-02 00:33:40 +0000 |
| commit | cf60af88b4d3791b5e225373e51186f4f86ad50f (patch) | |
| tree | 8215a56025bf9f4098360935d527ffa0360fa7c9 /llvm/lib/CAS/UnifiedOnDiskCache.cpp | |
| parent | 9e5deb963abec2808152b55d826333cba8ad5ab0 (diff) | |
| download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 | |
When the rematerialization stage fails to increase occupancy in all
regions, the current implementation only reverts the effect of
re-scheduling in regions in which the increased occupancy target could
not be achieved. However, given that re-scheduling with a higher
occupancy target puts more pressure on the scheduler to achieve lower
maximum RP at the cost of potentially lower ILP as well, region
schedules made with higher occupancy targets are generally less
desirable if the whole function is not able to meet that target.
Therefore, if at least one region cannot reach its target, it makes
sense to revert re-scheduling in all affected regions to go back to a
schedule that was made with a lower occupancy target.
This implements such logic for the rematerialization stage, and adds a
test to showcase that re-scheduling is indeed interrupted/reverted as
soon as a re-scheduled region that does not meet the increased target
occupancy is encountered.
As a minor improvement, this also sets higher occupancy targets for
re-scheduling at the end of stage initialization in some cases. In cases
where rematerializations alone are not able to achieve the target, this
can push the scheduler to be more aggressive in reducing RP and achieve
the target.
Diffstat (limited to 'llvm/lib/CAS/UnifiedOnDiskCache.cpp')
0 files changed, 0 insertions, 0 deletions
