diff --git a/cranelift/codegen/src/isa/aarch64/mod.rs b/cranelift/codegen/src/isa/aarch64/mod.rs index 1b05f887c133..1c8c4944354e 100644 --- a/cranelift/codegen/src/isa/aarch64/mod.rs +++ b/cranelift/codegen/src/isa/aarch64/mod.rs @@ -3,9 +3,11 @@ use crate::ir::condcodes::IntCC; use crate::ir::Function; use crate::isa::aarch64::settings as aarch64_settings; +#[cfg(feature = "unwind")] +use crate::isa::unwind::systemv; use crate::isa::{Builder as IsaBuilder, TargetIsa}; use crate::machinst::{ - compile, MachCompileResult, MachTextSectionBuilder, TextSectionBuilder, VCode, + compile, MachCompileResult, MachTextSectionBuilder, Reg, TextSectionBuilder, VCode, }; use crate::result::CodegenResult; use crate::settings as shared_settings; @@ -150,6 +152,11 @@ impl TargetIsa for AArch64Backend { fn text_section_builder(&self, num_funcs: u32) -> Box { Box::new(MachTextSectionBuilder::::new(num_funcs)) } + + #[cfg(feature = "unwind")] + fn map_regalloc_reg_to_dwarf(&self, reg: Reg) -> Result { + inst::unwind::systemv::map_reg(reg).map(|reg| reg.0) + } } impl fmt::Display for AArch64Backend {