Merge pull request #2363 from cfallin/extend-only-if-abi

Do value-extensions at ABI boundaries only when ABI requires it.
This commit is contained in:
Chris Fallin
2020-11-12 12:26:20 -08:00
committed by GitHub
7 changed files with 98 additions and 47 deletions

View File

@@ -728,6 +728,19 @@ impl ABIMachineSpec for AArch64MachineDeps {
}
caller_saved
}
fn get_ext_mode(
call_conv: isa::CallConv,
specified: ir::ArgumentExtension,
) -> ir::ArgumentExtension {
if call_conv.extends_baldrdash() {
// Baldrdash (SpiderMonkey) always extends args and return values to the full register.
specified
} else {
// No other supported ABI on AArch64 does so.
ir::ArgumentExtension::None
}
}
}
/// Is this type supposed to be seen on this machine? E.g. references of the