https://github.com/sunfishcode approved this pull request. Looks good to me. In general lowerings that need to produce multiple values (BUILD_PAIR or MERGE_VALUES) need to use custom C++ lowering code like this. https://github.com/llvm/llvm-project/pull/111598