This patch makes sure the compiler uses R16/R17 on avrtiny (attiny10 etc) instead of R0/R1.
Some notes:
- For the NEGW and ROLB instructions, it adds an explicit zero register. This is necessary because the zero register is different on avrtiny (and InstrInfo Uses lines need a fixed register).
- Not entirely sure about putting all tests in features/avr-tiny.ll, but it doesn't seem like the "target-cpu"="attiny10" attribute works.
Patch was based on D138529, but this can be changed easily.
I do see avr-gcc save/restore the zero-reg on avrtiny interrupt handlers. Shall we conform with avr-gcc ?