Skip to content

aco: remove edges between blocks if there is no direct branch

The idea is that if we decide to remove a divergent branch, the linear control flow cannot skip the following block, and thus, we also don't need to consider these edges when inserting wait states.

(The plan is to merge jump-threading into lower_branches in a follow-up.)

Based on !32037 (merged).

navi31 changes

Totals:
Instrs: 43312584 -> 43291867 (-0.05%); split: -0.05%, +0.00%
CodeSize: 227886656 -> 227803220 (-0.04%); split: -0.04%, +0.00%
Latency: 304088628 -> 300578651 (-1.15%); split: -1.15%, +0.00%
InvThroughput: 48232094 -> 47759610 (-0.98%); split: -0.98%, +0.00%
SClause: 1325348 -> 1325347 (-0.00%)

Totals from 10252 (12.91% of 79395) affected shaders:
Instrs: 18824540 -> 18803823 (-0.11%); split: -0.11%, +0.00%
CodeSize: 99025464 -> 98942028 (-0.08%); split: -0.08%, +0.00%
Latency: 169291854 -> 165781877 (-2.07%); split: -2.07%, +0.00%
InvThroughput: 29701086 -> 29228602 (-1.59%); split: -1.59%, +0.00%
SClause: 510587 -> 510586 (-0.00%)

 PERCENTAGE DELTAS                   Shaders   Instrs   CodeSize  Latency  InvThroughput  SClause  
 assassins_creed_valhalla            830       -0.06%    -0.05%    -1.32%      -1.48%        .     
 control                             4242      -0.01%    -0.01%    -0.02%      -0.01%        .     
 cyberpunk_2077                      2221      -0.12%    -0.10%    -4.93%      -4.22%        .     
 dead_space                          400       -0.05%    -0.04%    -0.65%      -0.93%        .     
 deathloop                           1130      -0.04%    -0.03%    -1.60%      -1.62%        .     
 detroit_become_human                995       -0.00%    -0.00%    -0.21%      -0.20%        .     
 deus_ex_md                          8063        .         .       -0.01%      -0.01%        .     
 doom_eternal                        461       -0.21%    -0.14%    -5.08%      -4.98%        .     
 dota2                               3840      -0.00%    -0.00%    -0.14%      -0.00%        .     
 dow3                                280       -0.02%    -0.01%    -0.85%      -0.06%        .     
 dredge                              2517      -0.00%    -0.00%    -0.16%      -0.02%        .     
 elden_ring                          3733      -0.00%    -0.00%    -0.12%      -0.02%        .     
 f1_23                               4006      -0.02%    -0.02%    -0.27%      -0.04%        .     
 farcry5                             805       -0.04%    -0.02%    -0.58%      -0.11%        .     
 god_of_war                          1029      -0.02%    -0.02%    -0.27%      -0.21%        .     
 gtav                                2955      -0.00%    -0.00%    -0.03%      -0.01%        .     
 heaven_d3d9_strict_float_ultra_4xaa 286         .         .       -0.00%        .           .     
 hogwarts_legacy                     887       -0.07%    -0.05%    -0.28%      -0.10%        .     
 horizon_zero_dawn                   1800      -0.08%    -0.06%    -0.41%      -0.25%        .     
 madmax                              922       -0.00%    -0.00%    -0.08%      -0.00%        .     
 metro_exodus                        2627      -0.01%    -0.01%    -0.12%      -0.07%        .     
 PERCENTAGE DELTAS                   Shaders   Instrs   CodeSize  Latency  InvThroughput  SClause  
 monster_hunter_world                1103      -0.02%    -0.02%    -0.71%      -0.11%        .     
 nier                                2422      -0.00%    -0.00%    -0.16%      -0.11%        .     
 no_mans_sky                         1978      -0.17%    -0.13%    -6.27%      -0.29%        .     
 parallel_rdp                        539       -0.05%    -0.04%    -0.52%      -0.32%        .     
 persona_5                           1566        .         .       -0.04%        .           .     
 q2rtx                               48        -0.15%    -0.08%    -2.22%      -1.75%        .     
 rdr2                                3649      -0.02%    -0.01%    -0.19%      -0.14%        .     
 redout                              2485      -0.00%    -0.00%    -0.03%      -0.01%        .     
 resident_evil_village               1157      -0.05%    -0.04%    -0.40%      -0.23%        .     
 second_extinction                   437       -0.02%    -0.01%    -0.09%      -0.05%        .     
 skyrim_dx9                          3305      -0.00%    -0.00%    -0.01%        .           .     
 sniper_elite_5                      4278      -0.05%    -0.06%    -1.71%      -1.73%        .     
 sottr                               542       -0.19%    -0.14%    -1.05%      -0.71%        .     
 spiderman_remastered                648       -0.00%    -0.00%    -0.01%      -0.00%        .     
 talos_principle                     1999      -0.07%    -0.05%    -0.53%        .           .     
 the_last_of_us_part1                1198      -0.04%    -0.03%    -1.18%      -0.15%      -0.00%  
 thewitness                          3150      -0.00%    -0.00%    -0.00%      -0.00%        .     
 total_warhammer_3                   632       -0.01%    -0.01%    -0.10%      -0.15%        .     
 war_thunder                         2100      -0.02%    -0.01%    -0.58%      -0.05%        .     
 worldofwarships                     2130      -0.01%    -0.01%    -0.27%      -0.00%        .     
 ---------------------------------------------------------------------------------------------------
 All affected                        10252     -0.11%    -0.08%    -2.07%      -1.59%      -0.00%  
 ---------------------------------------------------------------------------------------------------
 Total                               79395     -0.05%    -0.04%    -1.15%      -0.98%      -0.00%  
Edited by Daniel Schürmann

Merge request reports

Loading