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%