Move emit and emit_safepoint to prelude.isle

Even though the implementation of emit and emit_safepoint may
be platform-specific, the interface ought to be common so that
other code in prelude.isle may safely call these constructors.

This patch moves the definition of emit (from all platforms)
and emit_safepoint (s390x only) to prelude.isle.  This required
adding an emit_safepoint implementation to aarch64 and x64 as
well - the latter is still a stub as special move mitosis
handling will be required.
This commit is contained in:
Ulrich Weigand
2022-01-31 22:54:04 +01:00
parent 3c2f695dd3
commit a3e2f5c28b
12 changed files with 825 additions and 788 deletions

View File

@@ -231,6 +231,10 @@ where
}
}
fn emit_safepoint(&mut self, _inst: &MInst) -> Unit {
unimplemented!();
}
#[inline]
fn nonzero_u64_fits_in_u32(&mut self, x: u64) -> Option<u64> {
if x != 0 && x < u64::from(u32::MAX) {