[llvm] Mips/GlobalISel: Update hand written call MIR to mark $ra dead (PR #227647)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 30 03:28:42 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-globalisel
Author: Matt Arsenault (arsenm)
<details>
<summary>Changes</summary>
The call lowering marks the implicit $ra def of JAL/JALRPseudo dead, so
update the hand written MIR inputs and the corresponding checks to match
what the IRTranslator now produces.
Co-Authored-By: Claude Opus 5 <noreply@<!-- -->anthropic.com>
---
Patch is 41.62 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/227647.diff
17 Files Affected:
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/float_args.mir (+12-12)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir (+4-4)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir (+8-8)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/stack_args.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/legalizer/global_address.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir (+8-8)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/legalizer/stack_args.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/legalizer/var_arg.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/float_args.mir (+12-12)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/global_address.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/global_address_pic.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/implicit_def.mir (+8-8)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/stack_args.mir (+2-2)
- (modified) llvm/test/CodeGen/Mips/GlobalISel/regbankselect/var_arg.mir (+2-2)
``````````diff
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/float_args.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/float_args.mir
index 226b42eebd051..78e52013e1aa3 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/float_args.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/float_args.mir
@@ -136,7 +136,7 @@ body: |
; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP32: $f12 = COPY [[COPY]]
; FP32: $f14 = COPY [[COPY1]]
- ; FP32: JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
+ ; FP32: JAL @float_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
; FP32: [[COPY2:%[0-9]+]]:fgr32 = COPY $f0
; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP32: $f0 = COPY [[COPY2]]
@@ -148,7 +148,7 @@ body: |
; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP64: $f12 = COPY [[COPY]]
; FP64: $f14 = COPY [[COPY1]]
- ; FP64: JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
+ ; FP64: JAL @float_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
; FP64: [[COPY2:%[0-9]+]]:fgr32 = COPY $f0
; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP64: $f0 = COPY [[COPY2]]
@@ -158,7 +158,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$f12 = COPY %0(s32)
$f14 = COPY %1(s32)
- JAL @float_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
+ JAL @float_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $f12, implicit $f14, implicit-def $f0
%2:fprb(s32) = COPY $f0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$f0 = COPY %2(s32)
@@ -182,7 +182,7 @@ body: |
; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP32: $d6 = COPY [[COPY]]
; FP32: $d7 = COPY [[COPY1]]
- ; FP32: JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
+ ; FP32: JAL @double_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
; FP32: [[COPY2:%[0-9]+]]:afgr64 = COPY $d0
; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP32: $d0 = COPY [[COPY2]]
@@ -194,7 +194,7 @@ body: |
; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP64: $d6 = COPY [[COPY]]
; FP64: $d7 = COPY [[COPY1]]
- ; FP64: JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
+ ; FP64: JAL @double_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
; FP64: [[COPY2:%[0-9]+]]:fgr64 = COPY $d0
; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP64: $d0 = COPY [[COPY2]]
@@ -204,7 +204,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$d6 = COPY %0(s64)
$d7 = COPY %1(s64)
- JAL @double_in_fpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
+ JAL @double_in_fpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $d6, implicit $d7, implicit-def $d0
%2:fprb(s64) = COPY $d0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$d0 = COPY %2(s64)
@@ -228,7 +228,7 @@ body: |
; FP32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP32: $a0 = COPY [[COPY]]
; FP32: $a1 = COPY [[COPY1]]
- ; FP32: JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0
+ ; FP32: JAL @float_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $f0
; FP32: [[COPY2:%[0-9]+]]:fgr32 = COPY $f0
; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP32: $f0 = COPY [[COPY2]]
@@ -240,7 +240,7 @@ body: |
; FP64: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; FP64: $a0 = COPY [[COPY]]
; FP64: $a1 = COPY [[COPY1]]
- ; FP64: JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0
+ ; FP64: JAL @float_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $f0
; FP64: [[COPY2:%[0-9]+]]:fgr32 = COPY $f0
; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP64: $f0 = COPY [[COPY2]]
@@ -250,7 +250,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %0(s32)
$a1 = COPY %1(s32)
- JAL @float_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $f0
+ JAL @float_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $f0
%2:fprb(s32) = COPY $f0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$f0 = COPY %2(s32)
@@ -276,7 +276,7 @@ body: |
; FP32: $a0 = COPY [[COPY]]
; FP32: $a2 = COPY [[COPY1]]
; FP32: $a3 = COPY [[COPY2]]
- ; FP32: JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0
+ ; FP32: JAL @double_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $d0
; FP32: [[COPY3:%[0-9]+]]:afgr64 = COPY $d0
; FP32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP32: $d0 = COPY [[COPY3]]
@@ -290,7 +290,7 @@ body: |
; FP64: $a0 = COPY [[COPY]]
; FP64: $a2 = COPY [[COPY1]]
; FP64: $a3 = COPY [[COPY2]]
- ; FP64: JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0
+ ; FP64: JAL @double_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $d0
; FP64: [[COPY3:%[0-9]+]]:fgr64 = COPY $d0
; FP64: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; FP64: $d0 = COPY [[COPY3]]
@@ -302,7 +302,7 @@ body: |
$a0 = COPY %0(s32)
$a2 = COPY %2(s32)
$a3 = COPY %3(s32)
- JAL @double_in_gpr, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $d0
+ JAL @double_in_gpr, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $d0
%4:fprb(s64) = COPY $d0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$d0 = COPY %4(s64)
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address.mir
index 94eb203d96a02..b627f9743cd91 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address.mir
@@ -25,7 +25,7 @@ body: |
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[ADDiu]]
; MIPS32: $a1 = COPY [[ORi]]
- ; MIPS32: JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ ; MIPS32: JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $v0 = COPY [[ORi1]]
; MIPS32: RetRA implicit $v0
@@ -36,7 +36,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %1(p0)
$a1 = COPY %3(s32)
- JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
%0:gprb(s32) = COPY $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$v0 = COPY %4(s32)
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir
index 13f76532cb8ef..83ddb9e4ff224 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/gloal_address_pic.mir
@@ -58,7 +58,7 @@ body: |
; MIPS32: $a0 = COPY [[COPY]]
; MIPS32: $a1 = COPY [[COPY1]]
; MIPS32: $gp = COPY [[ADDu1]]
- ; MIPS32: JALRPseudo [[LW]], csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
+ ; MIPS32: JALRPseudo [[LW]], csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
; MIPS32: [[COPY2:%[0-9]+]]:gpr32 = COPY $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $v0 = COPY [[COPY2]]
@@ -71,7 +71,7 @@ body: |
$a0 = COPY %0(s32)
$a1 = COPY %1(s32)
$gp = COPY %4
- JALRPseudo %3(p0), csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
+ JALRPseudo %3(p0), csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
%2:gprb(s32) = COPY $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$v0 = COPY %2(s32)
@@ -100,7 +100,7 @@ body: |
; MIPS32: $a0 = COPY [[COPY]]
; MIPS32: $a1 = COPY [[COPY1]]
; MIPS32: $gp = COPY [[ADDu1]]
- ; MIPS32: JALRPseudo [[ADDiu]], csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
+ ; MIPS32: JALRPseudo [[ADDiu]], csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
; MIPS32: [[COPY2:%[0-9]+]]:gpr32 = COPY $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $v0 = COPY [[COPY2]]
@@ -113,7 +113,7 @@ body: |
$a0 = COPY %0(s32)
$a1 = COPY %1(s32)
$gp = COPY %4
- JALRPseudo %3(p0), csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
+ JALRPseudo %3(p0), csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $gp, implicit-def $v0
%2:gprb(s32) = COPY $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$v0 = COPY %2(s32)
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir
index 8d94db80fddc9..5ee7cf94d4f46 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir
@@ -27,13 +27,13 @@ body: |
; MIPS32: [[DEF:%[0-9]+]]:gpr32 = IMPLICIT_DEF
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[DEF]]
- ; MIPS32: JAL @f_i32, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0
+ ; MIPS32: JAL @f_i32, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%0:gprb(s32) = G_IMPLICIT_DEF
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %0(s32)
- JAL @f_i32, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0
+ JAL @f_i32, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
@@ -52,7 +52,7 @@ body: |
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[DEF]]
; MIPS32: $a1 = COPY [[DEF1]]
- ; MIPS32: JAL @f_i64, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1
+ ; MIPS32: JAL @f_i64, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%3:gprb(s32) = G_IMPLICIT_DEF
@@ -60,7 +60,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %3(s32)
$a1 = COPY %4(s32)
- JAL @f_i64, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1
+ JAL @f_i64, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
@@ -77,13 +77,13 @@ body: |
; MIPS32: [[DEF:%[0-9]+]]:fgr32 = IMPLICIT_DEF
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $f12 = COPY [[DEF]]
- ; MIPS32: JAL @f_float, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12
+ ; MIPS32: JAL @f_float, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $f12
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%0:fprb(s32) = G_IMPLICIT_DEF
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$f12 = COPY %0(s32)
- JAL @f_float, csr_o32, implicit-def $ra, implicit-def $sp, implicit $f12
+ JAL @f_float, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $f12
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
@@ -100,13 +100,13 @@ body: |
; MIPS32: [[DEF:%[0-9]+]]:afgr64 = IMPLICIT_DEF
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $d6 = COPY [[DEF]]
- ; MIPS32: JAL @f_double, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6
+ ; MIPS32: JAL @f_double, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $d6
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%0:fprb(s64) = G_IMPLICIT_DEF
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$d6 = COPY %0(s64)
- JAL @f_double, csr_o32, implicit-def $ra, implicit-def $sp, implicit $d6
+ JAL @f_double, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $d6
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/stack_args.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/stack_args.mir
index b43f69e45c2bd..1b59c4ed1e375 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/stack_args.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/stack_args.mir
@@ -33,7 +33,7 @@ body: |
; MIPS32: $a3 = COPY [[COPY3]]
; MIPS32: [[COPY4:%[0-9]+]]:gpr32 = COPY $sp
; MIPS32: SW [[LW]], [[COPY4]], 16 :: (store (s32) into stack + 16)
- ; MIPS32: JAL @f, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit $a2, implicit $a3, implicit-def $v0
+ ; MIPS32: JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit $a2, implicit $a3, implicit-def $v0
; MIPS32: [[COPY5:%[0-9]+]]:gpr32 = COPY $v0
; MIPS32: ADJCALLSTACKUP 24, 0, implicit-def $sp, implicit $sp
; MIPS32: $v0 = COPY [[COPY5]]
@@ -53,7 +53,7 @@ body: |
%8:gprb(s32) = G_CONSTANT i32 16
%9:gprb(p0) = G_PTR_ADD %7, %8(s32)
G_STORE %4(s32), %9(p0) :: (store (s32) into stack + 16, align 4)
- JAL @f, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit $a2, implicit $a3, implicit-def $v0
+ JAL @f, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit $a2, implicit $a3, implicit-def $v0
%6:gprb(s32) = COPY $v0
ADJCALLSTACKUP 24, 0, implicit-def $sp, implicit $sp
$v0 = COPY %6(s32)
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir
index fd3d9ae8554fe..0201d6853a4e1 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/instruction-select/var_arg.mir
@@ -87,7 +87,7 @@ body: |
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[ADDiu3]]
; MIPS32: $a1 = COPY [[LW3]]
- ; MIPS32: JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ ; MIPS32: JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%0:gprb(p0) = COPY $a0
@@ -120,7 +120,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %17(p0)
$a1 = COPY %15(p0)
- JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir
index 47a2c43e2bc5e..4e600b586bb6e 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir
@@ -56,7 +56,7 @@ body: |
; MIPS32: G_STORE [[C1]](s32), [[COPY4]](p0) :: (store (s8) into %ir.arrayidx)
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[COPY3]](p0)
- ; MIPS32: JAL @puts, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $v0
+ ; MIPS32: JAL @puts, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: RetRA
%2:_(s32) = COPY $a0
@@ -77,7 +77,7 @@ body: |
G_STORE %13(s8), %12(p0) :: (store (s8) into %ir.arrayidx)
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %10(p0)
- JAL @puts, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit-def $v0
+ JAL @puts, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit-def $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
RetRA
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/global_address.mir b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/global_address.mir
index b1129f52b923a..73db7436f0cef 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/global_address.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/global_address.mir
@@ -22,7 +22,7 @@ body: |
; MIPS32: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $a0 = COPY [[COPY]](p0)
; MIPS32: $a1 = COPY [[C]](s32)
- ; MIPS32: JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ ; MIPS32: JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
; MIPS32: [[COPY1:%[0-9]+]]:_(s32) = COPY $v0
; MIPS32: ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
; MIPS32: $v0 = COPY [[C1]](s32)
@@ -34,7 +34,7 @@ body: |
ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
$a0 = COPY %1(p0)
$a1 = COPY %3(s32)
- JAL @printf, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
+ JAL @printf, csr_o32, implicit-def dead $ra, implicit-def $sp, implicit $a0, implicit $a1, implicit-def $v0
%0:_(s32) = COPY $v0
ADJCALLSTACKUP 16, 0, implicit-def $sp, implicit $sp
$v0 = COPY %4(s32)
diff --git a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir
index 7e1f5d3ea73d7..78fbf23c8c08a 100644
--- a/llvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir
+++ b/llvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir
@@ -25,13 +25,13 @@ body: |
; MIPS32: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF
; MIPS32-NEXT: ADJCALLSTACKDOWN 16, 0, implicit-def $sp, implicit $sp
; MIPS32-NEXT: $a0 = COPY [[DEF]](s32)
- ; MIPS32-NEXT: JAL @f_i32, csr_o32, implicit-def $ra, implicit-def $sp, implicit $a0
+ ; MIPS32-NEXT: JAL @f_i32, csr_o32, implicit-def dead ...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/227647
More information about the llvm-commits
mailing list