nir/opt_shrink_vectors: remove duplicate components
This series further enhances the previous work from !11411 (merged) by
- removing arbitrary channels from load_const
- removing duplicates from load_const
- removing duplicates from vecN
performing a per-component DCE to detect unused channels
The last addition drastically increases the run-time of this pass, so it might be an idea to pull it out of optimization loops.