commit f709c2fa6fbe9475409919e0b3558c37ea51e735
parent 8eb9bf1bcb2416ff1e47dc99f1b7829b78be34fb
Author: André Bargull <andre.bargull@gmail.com>
Date: Mon, 20 Oct 2025 08:20:23 +0000
Bug 1993951 - Part 7: Don't require reuse-input for CopySign. r=spidermonkey-reviewers,iain
Codegen for these architectures can have use-as-start and doesn't require to
reuse-input allocations.
Differential Revision: https://phabricator.services.mozilla.com/D268373
Diffstat:
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/js/src/jit/loong64/Lowering-loong64.cpp b/js/src/jit/loong64/Lowering-loong64.cpp
@@ -553,10 +553,8 @@ void LIRGenerator::visitCopySign(MCopySign* ins) {
}
lir->setOperand(0, useRegisterAtStart(lhs));
- lir->setOperand(1, willHaveDifferentLIRNodes(lhs, rhs)
- ? useRegister(rhs)
- : useRegisterAtStart(rhs));
- defineReuseInput(lir, ins, 0);
+ lir->setOperand(1, useRegisterAtStart(rhs));
+ define(lir, ins);
}
void LIRGenerator::visitPowHalf(MPowHalf* ins) {
diff --git a/js/src/jit/mips-shared/Lowering-mips-shared.cpp b/js/src/jit/mips-shared/Lowering-mips-shared.cpp
@@ -835,8 +835,8 @@ void LIRGenerator::visitCopySign(MCopySign* ins) {
}
lir->setOperand(0, useRegisterAtStart(lhs));
- lir->setOperand(1, useRegister(rhs));
- defineReuseInput(lir, ins, 0);
+ lir->setOperand(1, useRegisterAtStart(rhs));
+ define(lir, ins);
}
void LIRGenerator::visitExtendInt32ToInt64(MExtendInt32ToInt64* ins) {
diff --git a/js/src/jit/riscv64/Lowering-riscv64.cpp b/js/src/jit/riscv64/Lowering-riscv64.cpp
@@ -553,8 +553,8 @@ void LIRGenerator::visitCopySign(MCopySign* ins) {
}
lir->setOperand(0, useRegisterAtStart(lhs));
- lir->setOperand(1, useRegister(rhs));
- defineReuseInput(lir, ins, 0);
+ lir->setOperand(1, useRegisterAtStart(rhs));
+ define(lir, ins);
}
void LIRGenerator::visitPowHalf(MPowHalf* ins) {