tree 8c74534f54823598596b7eb47fac39e602fe5a05
parent cf6a452cc734e00a1207514bb1fc2b123e31bb5f
author Jakub Kuderski <jakub@nod-labs.com> 1743465406 -0400
committer GitHub <noreply@github.com> 1743465406 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn6yu+CRC1aQ7uu5UhlAAAqrgQABg6dKzin9WSqWZMt69VhQnx
 hG+UMsuoXBqzz/hgIfXuDKnYmzZ5I8m+fUTuNIQx+AkA9ePqWAS6tTe8AzArtURS
 UkOXCXUYtxE5JTTuFJa5EG4GuF5ZTFlUNxiIFDVkvko9VA6HeYLX0efBAX7fU1Cy
 jX5srk/lDYFNmqu7Fz5LXXYZyT6yT8v52oNOWwDpCoOQ/X/YHG4jNF8JqzJA2mng
 apPH+Ylw7i5+Ffam3QZeP6RW80dEiJnNjhJBsw4lX3BV2ZeeyUf1Xm9ZsF+ZF68G
 i1yeQbZpr2NwtLyAlwLFvLE5U/FU/1X6QImOPtkHOpYI4dZOxnvLIsE8ZFHE0WbL
 JcW4sSlgkA5pXw20SRMklcw9cEhqwu2h7Wy8fA+156uPFoDQmmcLtFBwJ5i+i9Ku
 UWKVD5OfclAJd8Zs90aXj7MuZMthz4oZOuuz2KxO8uX1YdM+cIy1sWSdjaL7fPHI
 LCzOZSO5JHgUFHeWpKGVII56JhypeKiKF2/XTFLva6BrHcFF9at5BFUUC4KZLWFf
 ASHQJwevZWgSauNvwNPh6I+NeLDa16LaBXF4KUXCUvRydX3mu0+NX0I5mq4VmcWu
 tCXWrUewQYkgDtfUbBJhubiLo6CbrPx5Fx/4aMmqMjidLG96o6ONgLtG91g3Iybw
 RPwU7K3C+EqjjjDfW5p3
 =Bswl
 -----END PGP SIGNATURE-----
 

[mlir] Update vector return types for `.getMixed`* methods (NFC) (#133821)

Drop small size to make vector types match the generic helper
`getMixedValues` in `StaticValueUtils.h`.

This saves some needles vector copies. I didn't find any local variables
that need updating.