mesa/src/amd
Daniel Schürmann 4a57787006 aco/spill: use correct next_use_distances at loop header
To decide which variables to spill, we must use the distances at the
beginning of the loop-header, and not the distances at the end of the
loop-preheader. The difference are that the former includes phis which are
viable to be spilled as opposed to the phi operands which would be reloaded
by add_coupling_code(), ending up in potentially too high register pressure
before the loop.

Totals from 206 (0.15% of 136546) affected shaders (Raven):
SpillSGPRs: 5154 -> 5000 (-2.99%)
CodeSize: 3654072 -> 3647184 (-0.19%); split: -0.19%, +0.00%
Instrs: 701482 -> 700526 (-0.14%); split: -0.14%, +0.00%
Latency: 40988780 -> 40872506 (-0.28%); split: -0.29%, +0.00%
InvThroughput: 20364560 -> 20306006 (-0.29%)
SClause: 20192 -> 20198 (+0.03%)
Copies: 77732 -> 77688 (-0.06%); split: -0.08%, +0.03%
Branches: 24204 -> 24050 (-0.64%)

Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9196>
2021-04-13 18:40:57 +00:00
..
addrlib amd/addrlib: expose DCC address equations to drivers 2021-04-13 03:17:42 +00:00
ci radv: change RADV_FORCE_FAMILY to use family name instead of LLVM processor name 2021-04-05 06:53:55 +00:00
common radeonsi: implement DCC MSAA 4x/8x fast clear using DCC equations on gfx9 2021-04-13 03:17:42 +00:00
compiler aco/spill: use correct next_use_distances at loop header 2021-04-13 18:40:57 +00:00
llvm nir: Extract shader_info->cs.shared_size out of union. 2021-04-08 14:39:28 +00:00
registers amd: fix parsing the last dword of DMA_DATA packets 2021-04-02 12:05:00 +00:00
vulkan radv: Re-enable retiling. 2021-04-13 12:08:24 +00:00
.clang-format radv: Add clang-format for AMD code. 2021-04-10 03:31:32 +02:00
Android.addrlib.mk android: amd/addrlib: define endianess to build 2021-03-27 01:54:49 +01:00
Android.common.mk android: amd/registers: switch to new generated register definitions 2020-09-06 20:20:34 +02:00
Android.compiler.mk android: aco/isel: Move context initialization code to a dedicated file 2020-09-14 21:26:53 +02:00
Android.mk android: aco: add support for libmesa_aco 2019-09-28 15:56:34 +02:00
Makefile.sources ac: add ac_get_family_name() helper 2021-04-05 06:53:55 +00:00
meson.build aco: add framework for unit testing 2020-07-30 16:13:08 +00:00