Skip to content

aco: register allocation improvements and fix for subdword variables on non-SDWA instructions

Daniel Schürmann requested to merge daniel-schuermann/mesa:aco_fp16 into master

This is a refactoring of RA in order to allow for subdword variables on non-SDWA instructions, i.e. instructions which read or write the lower bits of a register, or even write the full register despite only the lower bits will contain useful data.

The MR does additionally some refactoring to simplify things and contains small improvements:

 PERCENTAGE DELTAS    Shaders     SGPRs     VGPRs SpillSGPR SpillVGPR  PrivVGPR   Scratch  CodeSize  MaxWaves     Waits
 battlefront2            4566   -0.04 %   -0.24 %     .         .         .         .         .        0.07 %     .    
 britannia                465     .       -0.19 %     .         .         .         .       -0.12 %     .         .    
 dark_souls_3           11975   -0.02 %    0.08 %     .         .         .         .       -0.04 %     .         .    
 detroit_become_human   19417     .       -0.04 %     .         .         .         .       -0.07 %     .         .    
 deus_ex_md              8063     .         .         .         .         .         .         .         .         .    
 dirt4                   4030   -0.04 %   -0.04 %     .         .         .         .       -0.05 %     .         .    
 doom                    5775   -0.09 %   -0.08 %     .         .         .         .       -0.42 %    0.01 %     .    
 dota2                    985     .       -0.28 %     .         .         .         .       -0.20 %    0.04 %     .    
 dow3                     294     .       -0.06 %     .         .         .         .        0.05 %     .         .    
 evilwithin_demo          740     .       -0.39 %     .         .         .         .       -0.16 %   -0.03 %     .    
 f12017                  5462     .       -0.04 %     .         .         .         .        0.01 %     .         .    
 gtav                    2955     .       -0.05 %     .         .         .         .       -0.09 %     .         .    
 hitman                  3131   -0.02 %     .         .         .         .         .       -0.04 %     .         .    
 madmax                   922     .       -0.20 %     .         .         .         .        0.01 %    0.08 %     .    
 nier                    7030     .       -0.15 %     .         .         .         .       -0.01 %   -0.03 %     .    
 redout                  2488     .       -0.05 %     .         .         .         .       -0.04 %    0.01 %     .    
 rottr                   8039     .         .         .         .         .         .        0.09 %     .         .    
 shadowofmordor          2055     .       -0.10 %     .         .         .         .       -0.02 %     .         .    
 sottr_demo              5620    0.04 %    0.03 %     .         .         .         .       -0.09 %     .         .    
 strange_brigade         1412     .        0.17 %     .         .         .         .       -0.08 %   -0.06 %     .    
 talos                    782     .       -0.04 %     .         .         .         .         .        0.02 %     .    
 thewitness              3150     .       -0.03 %     .         .         .         .       -0.21 %    0.03 %     .    
 threekingdoms            887     .       -0.08 %     .         .         .         .       -0.23 %     .         .    
 warhammer2              1871   -0.03 %   -0.05 %     .         .         .         .       -0.15 %     .         .    
 worldofwarships         8536     .       -0.06 %     .         .         .         .       -0.06 %     .         .    
 youngblood               843    0.02 %   -0.23 %     .         .         .         .       -0.05 %   -0.01 %     .    
 ----------------------------------------------------------------------------------------------------------------------
 All affected           31536   -0.01 %   -0.08 %     .         .         .         .       -0.10 %    0.01 %     .    
 ----------------------------------------------------------------------------------------------------------------------
 Total                 111493     .       -0.04 %     .         .         .         .       -0.06 %     .         .    
Edited by Daniel Schürmann

Merge request reports