Skip to content

agx: Run CSE+DCE before opt_algebraic_late

Alyssa Rosenzweig requested to merge alyssa/mesa:agx/dce-before into main

Otherwise the is_used_once doesn't behave sensibly. Manifested as undesireable imad's being fused in a test, fix by inspection. Affected shaders have imads that are no longer being fused, as intended: in these cases, although instruciton count increases, cycle count is expected to decrease (since multiplies are more expensive than adds).

total instructions in shared programs: 1478131 -> 1480615 (0.17%) instructions in affected programs: 269500 -> 271984 (0.92%) helped: 10 HURT: 1251 Instructions are HURT.

total bytes in shared programs: 10124998 -> 10144878 (0.20%) bytes in affected programs: 1880974 -> 1900854 (1.06%) helped: 10 HURT: 1251 Bytes are HURT.

total halfregs in shared programs: 461144 -> 461142 (<.01%) halfregs in affected programs: 272 -> 270 (-0.74%) helped: 2 HURT: 4 Inconclusive result (value mean confidence interval includes 0).

Signed-off-by: Alyssa Rosenzweig alyssa@rosenzweig.io

Merge request reports