b3615e5d6f
Slight differences due to different optimization order. Totals from 135 (0.17% of 79839) affected shaders: (Navi48) Instrs: 287852 -> 287527 (-0.11%); split: -0.15%, +0.03% CodeSize: 1522972 -> 1521764 (-0.08%); split: -0.12%, +0.04% Latency: 1806803 -> 1825754 (+1.05%); split: -0.08%, +1.12% InvThroughput: 242693 -> 244703 (+0.83%); split: -0.02%, +0.84% VClause: 4092 -> 4084 (-0.20%) SClause: 7462 -> 7478 (+0.21%) Copies: 20509 -> 20401 (-0.53%); split: -0.74%, +0.21% Branches: 6395 -> 6386 (-0.14%) PreSGPRs: 7334 -> 7337 (+0.04%); split: -0.03%, +0.07% PreVGPRs: 6375 -> 6382 (+0.11%) VALU: 151787 -> 151595 (-0.13%); split: -0.15%, +0.02% SALU: 52967 -> 52910 (-0.11%); split: -0.23%, +0.12% VMEM: 6704 -> 6696 (-0.12%) SMEM: 12099 -> 12129 (+0.25%) Tested on a small collection of 2518 shaders from Dredge with callgrind using RADV: baseline: nir_opt_algebraic was called 12917 times from radv_optimize_nir() nir_opt_cse was called 15204 times from radv_optimize_nir() relative time spent in radv_optimize_nir(): 31.48% total instruction fetch cost: 28,642,638,021 with nir/algebraic: ad-hoc constant-fold ALU instructions nir_opt_algebraic was called 12797 times from radv_optimize_nir() nir_opt_cse was called 12963 times from radv_optimize_nir() relative time spent in radv_optimize_nir(): 30.63% total instruction fetch cost: 28,284,386,123 => ~1.27% improvement in total compile times Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37195>