aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
authorLucas Ramirez <11032120+lucas-rami@users.noreply.github.com>2025-06-26 13:11:20 +0200
committerGitHub <noreply@github.com>2025-06-26 13:11:20 +0200
commit6307b496f8ba35e8921522d60cc1c9b5e1f6d899 (patch)
tree9001814a9f76c3688ac7ac7ed57d8f14b92b58e2 /clang/lib/Basic/SourceManager.cpp
parent95149011ea010a4b0ca0e9700437090ae582f8e5 (diff)
downloadllvm-6307b496f8ba35e8921522d60cc1c9b5e1f6d899.zip
llvm-6307b496f8ba35e8921522d60cc1c9b5e1f6d899.tar.gz
llvm-6307b496f8ba35e8921522d60cc1c9b5e1f6d899.tar.bz2
[AMDGPU] Add `GCNRPTarget` to track register pressure against a target (#145765)
This adds the `GCNRPTarget` class which models a register pressure target (i.e., maximum number of SGPRs/VGPRS) that one can track register savings against. The only current use of this class is in the scheduler's rematerialization stage. It replaces the more ad-hoc (and now deleted) `ExcessRP` class which used to serve the same purpose. This is only NFC~ish because `GCNRPTarget` tracks VGPR usage more accurately than `ExcessRP` used to. To estimate required combined VGPR savings we now additionally take into account the number of available VGPRs in both banks (ArchVGPR and AGPR) at the time where the RP target is created, whereas we used to only consider explicit savings made from the starting RP. This makes VGPR savings estimations more accurate in cases where we allow for savings in one VGPR bank to help towards reducing pressure in another VGPR bank (see `GCNRPTarget::CombineVGPRSavings`). This is the cause for unit test changes.
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
0 files changed, 0 insertions, 0 deletions