[all-commits] [llvm/llvm-project] e7f080: [AMDGPU] Introduce separate register limit bias in...
Stanislav Mekhanoshin via All-commits
all-commits at lists.llvm.org
Thu Jan 19 10:52:09 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e7f080b3598d7d73456954554d173146b2744953
https://github.com/llvm/llvm-project/commit/e7f080b3598d7d73456954554d173146b2744953
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2023-01-19 (Thu, 19 Jan 2023)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
Log Message:
-----------
[AMDGPU] Introduce separate register limit bias in scheduler
Current implementation abuses ErrorMargin to apply an additional
bias to VGPR and SGPR limits under a high register pressure. The
ErrorMargin exists to account for inaccuracies of the RP tracker
and not to tackle an excess pressure. Introduce separate bias for
this purpose and also make it different for SGPRs and VGPRs as we
may want to use different values in the future.
This is supposed to be NFC, however there is a subtle difference
when subtracting a margin overflows the limit. Doing two subtractions
makes it less probable, although manifests only in mir tests with
an artificially small register budget.
Differential Revision: https://reviews.llvm.org/D142051
More information about the All-commits
mailing list