This patch is a large number of small changes that should hopefully not
affect the generated machine code but are still important to get right
so that the machine verifier won't complain about them. It is the last
in a series of patches to get all the AVR codegen tests to pass with the
machine verifier enabled.
The llvm/test/CodeGen/AVR/pseudo/*.mir changes are also necessary
because without the liveins the used registers are considered undefined
by the machine verifier and it will complain about them.
I'm aware there are other issues that trigger the machine verifier in the AVR backend, but this series of patches should at least get ninja -j4 check-llvm-codegen-avr to work with the machine verifier enabled. Actually enabling it for the AVR backend will need to be done in a separate patch (isMachineVerifierClean).
clang-format: please reformat the code