[PyTorch] Allow IValue to construct from Tuple with fewer copies (#54534)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/54534
Moving overload of tuple -> IValue constructor was missing.
ghstack-source-id: 124671165
Test Plan:
Compare assembly for ivalue_test.cpp before/after this
change. Newly added snippet stops calling `std::__invoke_impl` with a
real function pointer to a by-value variant of
`c10::ivalue::Tuple::create` and starts directly calling
by-const-reference variant of `c10::ivalue::Tuple::create` instead.
Reviewed By: smessmer
Differential Revision: D27271895
fbshipit-source-id: 8b0e146a15d66883146b89b93da5e95f903484e6