Bug 1710024 - Add comments about input reuse, r=yury

Add some comments about input reuse on arm64 so that we're not
confused in the future as to why this is OK.

Differential Revision: https://phabricator.services.mozilla.com/D117917
This commit is contained in:
Lars T Hansen 2021-06-24 09:26:59 +00:00
Родитель 9607385060
Коммит 06bbe72dd9
1 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -1378,6 +1378,8 @@ void LIRGenerator::visitMinMax(MMinMax* ins) {
MOZ_CRASH();
}
// Input reuse is OK (for now) even on ARM64: floating min/max are fairly
// expensive due to SNaN -> QNaN conversion, and int min/max is for asm.js.
defineReuseInput(lir, ins, 0);
}
@ -2419,6 +2421,8 @@ void LIRGenerator::visitWasmExtendU32Index(MWasmExtendU32Index* ins) {
MOZ_ASSERT(input->type() == MIRType::Int32);
MOZ_ASSERT(ins->type() == MIRType::Int64);
// Input reuse is OK even on ARM64 because this node *must* reuse its input in
// order not to generate any code at all, as is the intent.
auto* lir = new (alloc()) LWasmExtendU32Index(useRegisterAtStart(input));
defineReuseInput(lir, ins, 0);
#else
@ -2432,6 +2436,8 @@ void LIRGenerator::visitWasmWrapU32Index(MWasmWrapU32Index* ins) {
MOZ_ASSERT(input->type() == MIRType::Int64);
MOZ_ASSERT(ins->type() == MIRType::Int32);
// Input reuse is OK even on ARM64 because this node *must* reuse its input in
// order not to generate any code at all, as is the intent.
auto* lir = new (alloc()) LWasmWrapU32Index(useRegisterAtStart(input));
defineReuseInput(lir, ins, 0);
#else