Ayke van Laethem a1155ae64d
[AVR] Fix lifeness issues in the AVR backend
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.

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.

Differential Revision: https://reviews.llvm.org/D97172
2021-03-04 14:04:39 +01:00

26 lines
452 B
YAML

# RUN: llc -O0 -run-pass=avr-expand-pseudo %s -o - | FileCheck %s
# This test checks the expansion of the 16-bit STSWRdK pseudo instruction.
--- |
target triple = "avr--"
define void @test_stswkrr() {
entry:
ret void
}
...
---
name: test_stswkrr
body: |
bb.0.entry:
liveins: $r31r30
; CHECK-LABEL: test_stswkrr
; CHECK: STSKRr 2560, $r31
; CHECK-NEXT: STSKRr 2559, $r30
STSWKRr 2559, $r31r30
...