agx: Run CSE+DCE before opt_algebraic_late
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