Read views of destination in adjoint * adjoint (#56138)
Also, add an aggressive constprop annotation to `generic_matvecmul!`.
Together, these improve performance:
```julia
julia> A = rand(Int,100,100);
julia> @btime $A' * $A';
290.203 μs (405 allocations: 175.98 KiB) # v"1.12.0-DEV.1364"
270.008 μs (5 allocations: 79.11 KiB) # This PR
```