nir/deref: Add an optimization for alignment casts

Coming in from LLVM and OpenCL C, we get piles of casts that exist
entirely for the purpose of adding an alignment right before we do a
load or store.  These casts don't really do anything for us and just
make it harder to see through the deref chain.  This optimization
removes such casts by creating a copy of the parent deref and putting
the alignment information there.
85 jobs for !7450 with review/nir-16b-align in 18 seconds (queued for 3 seconds)
latest merge request