[AVR] Fix the 'call.ll' CodeGen test
authorDylan McKay <me@dylanmckay.io>
Wed, 10 Oct 2018 03:21:42 +0000 (03:21 +0000)
committerDylan McKay <me@dylanmckay.io>
Wed, 10 Oct 2018 03:21:42 +0000 (03:21 +0000)
Commit r343851 changed the format of the generated instructions.

An unnecessary load has been removed. Previously, a value would be moved
from r24 into a temporary register just to be copied into r30 before the
indirect call. Now, codegen immediately loads r24 into r30, saving a
MOVW instruction.

llvm-svn: 344111

llvm/test/CodeGen/AVR/call.ll

index dd37b38..a2556e8 100644 (file)
@@ -171,12 +171,11 @@ define void @testcallprologue() {
 
 define i32 @icall(i32 (i32)* %foo) {
 ; CHECK-LABEL: icall:
-; CHECK: movw [[REG:r[0-9]+]], r24
+; CHECK: movw r30, r24
 ; CHECK: ldi r22, 147
 ; CHECK: ldi r23, 248
 ; CHECK: ldi r24, 214
 ; CHECK: ldi r25, 198
-; CHECK: movw r30, [[REG]]
 ; CHECK: icall
 ; CHECK: subi r22, 251
 ; CHECK: sbci r23, 255