/rust/registry/src/index.crates.io-1949cf8c6b5b557f/cranelift-codegen-0.129.1/src/machinst/isle.rs
Line | Count | Source |
1 | | use crate::ir::{BlockCall, Value, ValueList}; |
2 | | use alloc::boxed::Box; |
3 | | use alloc::vec::Vec; |
4 | | use smallvec::SmallVec; |
5 | | |
6 | | pub use super::MachLabel; |
7 | | use super::RetPair; |
8 | | pub use crate::ir::{condcodes::CondCode, *}; |
9 | | pub use crate::isa::{TargetIsa, unwind::UnwindInst}; |
10 | | pub use crate::machinst::{ |
11 | | ABIArg, ABIArgSlot, ABIMachineSpec, InputSourceInst, Lower, LowerBackend, RealReg, Reg, |
12 | | RelocDistance, Sig, TryCallInfo, VCodeInst, Writable, |
13 | | }; |
14 | | pub use crate::settings::{StackSwitchModel, TlsModel}; |
15 | | |
16 | | pub type Unit = (); |
17 | | pub type ValueSlice = (ValueList, usize); |
18 | | pub type ValueArray2 = [Value; 2]; |
19 | | pub type ValueArray3 = [Value; 3]; |
20 | | pub type BlockArray2 = [BlockCall; 2]; |
21 | | pub type WritableReg = Writable<Reg>; |
22 | | pub type VecRetPair = Vec<RetPair>; |
23 | | pub type VecMask = Vec<u8>; |
24 | | pub type ValueRegs = crate::machinst::ValueRegs<Reg>; |
25 | | pub type WritableValueRegs = crate::machinst::ValueRegs<WritableReg>; |
26 | | pub type ValueRegsVec = SmallVec<[ValueRegs; 2]>; |
27 | | pub type InstOutput = SmallVec<[ValueRegs; 2]>; |
28 | | pub type BoxExternalName = Box<ExternalName>; |
29 | | pub type MachLabelSlice = [MachLabel]; |
30 | | pub type BoxVecMachLabel = Box<Vec<MachLabel>>; |
31 | | pub type OptionTryCallInfo = Option<TryCallInfo>; |
32 | | |
33 | | /// Helper macro to define methods in `prelude.isle` within `impl Context for |
34 | | /// ...` for each backend. These methods are shared amongst all backends. |
35 | | #[macro_export] |
36 | | #[doc(hidden)] |
37 | | macro_rules! isle_lower_prelude_methods { |
38 | | () => { |
39 | | crate::isle_lower_prelude_methods!(MInst); |
40 | | }; |
41 | | ($inst:ty) => { |
42 | | crate::isle_common_prelude_methods!(); |
43 | | |
44 | | #[inline] |
45 | 9.38M | fn value_type(&mut self, val: Value) -> Type { |
46 | 9.38M | self.lower_ctx.dfg().value_type(val) |
47 | 9.38M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_type Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_type Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_type <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_type Line | Count | Source | 45 | 9.38M | fn value_type(&mut self, val: Value) -> Type { | 46 | 9.38M | self.lower_ctx.dfg().value_type(val) | 47 | 9.38M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_type Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_type |
48 | | |
49 | | #[inline] |
50 | 3.98M | fn value_reg(&mut self, reg: Reg) -> ValueRegs { |
51 | 3.98M | ValueRegs::one(reg) |
52 | 3.98M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_reg <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_reg Line | Count | Source | 50 | 3.98M | fn value_reg(&mut self, reg: Reg) -> ValueRegs { | 51 | 3.98M | ValueRegs::one(reg) | 52 | 3.98M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_reg |
53 | | |
54 | | #[inline] |
55 | 40.8k | fn value_regs(&mut self, r1: Reg, r2: Reg) -> ValueRegs { |
56 | 40.8k | ValueRegs::two(r1, r2) |
57 | 40.8k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs Line | Count | Source | 55 | 40.8k | fn value_regs(&mut self, r1: Reg, r2: Reg) -> ValueRegs { | 56 | 40.8k | ValueRegs::two(r1, r2) | 57 | 40.8k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs |
58 | | |
59 | | #[inline] |
60 | 0 | fn writable_value_regs(&mut self, r1: WritableReg, r2: WritableReg) -> WritableValueRegs { |
61 | 0 | WritableValueRegs::two(r1, r2) |
62 | 0 | } Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_value_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_value_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_value_regs Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_value_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_value_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_value_regs |
63 | | |
64 | | #[inline] |
65 | 0 | fn writable_value_reg(&mut self, r: WritableReg) -> WritableValueRegs { |
66 | 0 | WritableValueRegs::one(r) |
67 | 0 | } Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_value_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_value_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_value_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_value_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_value_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_value_reg |
68 | | |
69 | | #[inline] |
70 | 0 | fn value_regs_invalid(&mut self) -> ValueRegs { |
71 | 0 | ValueRegs::invalid() |
72 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_invalid Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_invalid Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_invalid Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_invalid Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_invalid Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_invalid |
73 | | |
74 | | #[inline] |
75 | 2.17M | fn output_none(&mut self) -> InstOutput { |
76 | 2.17M | smallvec::smallvec![] |
77 | 2.17M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_none Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_none Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_none <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_none Line | Count | Source | 75 | 2.17M | fn output_none(&mut self) -> InstOutput { | 76 | 2.17M | smallvec::smallvec![] | 77 | 2.17M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_none Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_none |
78 | | |
79 | | #[inline] |
80 | 4.14M | fn output(&mut self, regs: ValueRegs) -> InstOutput { |
81 | 4.14M | smallvec::smallvec![regs] |
82 | 4.14M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output Line | Count | Source | 80 | 4.14M | fn output(&mut self, regs: ValueRegs) -> InstOutput { | 81 | 4.14M | smallvec::smallvec![regs] | 82 | 4.14M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output |
83 | | |
84 | | #[inline] |
85 | 0 | fn output_pair(&mut self, r1: ValueRegs, r2: ValueRegs) -> InstOutput { |
86 | 0 | smallvec::smallvec![r1, r2] |
87 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_pair Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_pair Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_pair Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_pair Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_pair Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_pair |
88 | | |
89 | | #[inline] |
90 | 445k | fn output_vec(&mut self, output: &ValueRegsVec) -> InstOutput { |
91 | 445k | output.clone() |
92 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_vec Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_vec Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_vec <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::output_vec Line | Count | Source | 90 | 445k | fn output_vec(&mut self, output: &ValueRegsVec) -> InstOutput { | 91 | 445k | output.clone() | 92 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::output_vec Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::output_vec |
93 | | |
94 | | #[inline] |
95 | 0 | fn temp_writable_reg(&mut self, ty: Type) -> WritableReg { |
96 | 0 | let value_regs = self.lower_ctx.alloc_tmp(ty); |
97 | 0 | value_regs.only_reg().unwrap() |
98 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::temp_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::temp_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::temp_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::temp_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::temp_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::temp_writable_reg |
99 | | |
100 | | #[inline] |
101 | 0 | fn is_valid_reg(&mut self, reg: Reg) -> bool { |
102 | | use crate::machinst::valueregs::InvalidSentinel; |
103 | 0 | !reg.is_invalid_sentinel() |
104 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::is_valid_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::is_valid_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::is_valid_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::is_valid_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::is_valid_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::is_valid_reg |
105 | | |
106 | | #[inline] |
107 | 302 | fn invalid_reg(&mut self) -> Reg { |
108 | | use crate::machinst::valueregs::InvalidSentinel; |
109 | 302 | Reg::invalid_sentinel() |
110 | 302 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::invalid_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::invalid_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::invalid_reg <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::invalid_reg Line | Count | Source | 107 | 302 | fn invalid_reg(&mut self) -> Reg { | 108 | | use crate::machinst::valueregs::InvalidSentinel; | 109 | 302 | Reg::invalid_sentinel() | 110 | 302 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::invalid_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::invalid_reg |
111 | | |
112 | | #[inline] |
113 | 0 | fn mark_value_used(&mut self, val: Value) { |
114 | 0 | self.lower_ctx.increment_lowered_uses(val); |
115 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::mark_value_used Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::mark_value_used Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::mark_value_used Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::mark_value_used Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::mark_value_used Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::mark_value_used |
116 | | |
117 | | #[inline] |
118 | 7.82M | fn put_in_reg(&mut self, val: Value) -> Reg { |
119 | 7.82M | self.put_in_regs(val).only_reg().unwrap() |
120 | 7.82M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_reg <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_reg Line | Count | Source | 118 | 7.82M | fn put_in_reg(&mut self, val: Value) -> Reg { | 119 | 7.82M | self.put_in_regs(val).only_reg().unwrap() | 120 | 7.82M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_reg |
121 | | |
122 | | #[inline] |
123 | 11.3M | fn put_in_regs(&mut self, val: Value) -> ValueRegs { |
124 | 11.3M | self.lower_ctx.put_value_in_regs(val) |
125 | 11.3M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs Line | Count | Source | 123 | 11.3M | fn put_in_regs(&mut self, val: Value) -> ValueRegs { | 124 | 11.3M | self.lower_ctx.put_value_in_regs(val) | 125 | 11.3M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs |
126 | | |
127 | | #[inline] |
128 | 634k | fn put_in_regs_vec(&mut self, (list, off): ValueSlice) -> ValueRegsVec { |
129 | 634k | (off..list.len(&self.lower_ctx.dfg().value_lists)) |
130 | 3.29M | .map(|ix| { |
131 | 3.29M | let val = list.get(ix, &self.lower_ctx.dfg().value_lists).unwrap(); |
132 | 3.29M | self.put_in_regs(val) |
133 | 3.29M | }) Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0}Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0}Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0}<cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0}Line | Count | Source | 130 | 3.29M | .map(|ix| { | 131 | 3.29M | let val = list.get(ix, &self.lower_ctx.dfg().value_lists).unwrap(); | 132 | 3.29M | self.put_in_regs(val) | 133 | 3.29M | }) |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0}Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs_vec::{closure#0} |
134 | 634k | .collect() |
135 | 634k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs_vec Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs_vec Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs_vec <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::put_in_regs_vec Line | Count | Source | 128 | 634k | fn put_in_regs_vec(&mut self, (list, off): ValueSlice) -> ValueRegsVec { | 129 | 634k | (off..list.len(&self.lower_ctx.dfg().value_lists)) | 130 | 634k | .map(|ix| { | 131 | | let val = list.get(ix, &self.lower_ctx.dfg().value_lists).unwrap(); | 132 | | self.put_in_regs(val) | 133 | | }) | 134 | 634k | .collect() | 135 | 634k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::put_in_regs_vec Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::put_in_regs_vec |
136 | | |
137 | | #[inline] |
138 | 0 | fn ensure_in_vreg(&mut self, reg: Reg, ty: Type) -> Reg { |
139 | 0 | self.lower_ctx.ensure_in_vreg(reg, ty) |
140 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::ensure_in_vreg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::ensure_in_vreg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::ensure_in_vreg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::ensure_in_vreg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::ensure_in_vreg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::ensure_in_vreg |
141 | | |
142 | | #[inline] |
143 | 167k | fn value_regs_get(&mut self, regs: ValueRegs, i: usize) -> Reg { |
144 | 167k | regs.regs()[i] |
145 | 167k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_get <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_get Line | Count | Source | 143 | 167k | fn value_regs_get(&mut self, regs: ValueRegs, i: usize) -> Reg { | 144 | 167k | regs.regs()[i] | 145 | 167k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_get |
146 | | |
147 | | #[inline] |
148 | 0 | fn value_regs_len(&mut self, regs: ValueRegs) -> usize { |
149 | 0 | regs.regs().len() |
150 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_len Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_regs_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_regs_len Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_regs_len |
151 | | |
152 | | #[inline] |
153 | 634k | fn value_list_slice(&mut self, list: ValueList) -> ValueSlice { |
154 | 634k | (list, 0) |
155 | 634k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_list_slice Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_list_slice Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_list_slice <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_list_slice Line | Count | Source | 153 | 634k | fn value_list_slice(&mut self, list: ValueList) -> ValueSlice { | 154 | 634k | (list, 0) | 155 | 634k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_list_slice Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_list_slice |
156 | | |
157 | | #[inline] |
158 | 0 | fn value_slice_empty(&mut self, slice: ValueSlice) -> Option<()> { |
159 | 0 | let (list, off) = slice; |
160 | 0 | if off >= list.len(&self.lower_ctx.dfg().value_lists) { |
161 | 0 | Some(()) |
162 | | } else { |
163 | 0 | None |
164 | | } |
165 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_empty Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_empty Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_empty Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_empty Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_empty Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_empty |
166 | | |
167 | | #[inline] |
168 | 416k | fn value_slice_unwrap(&mut self, slice: ValueSlice) -> Option<(Value, ValueSlice)> { |
169 | 416k | let (list, off) = slice; |
170 | 416k | if let Some(val) = list.get(off, &self.lower_ctx.dfg().value_lists) { |
171 | 416k | Some((val, (list, off + 1))) |
172 | | } else { |
173 | 0 | None |
174 | | } |
175 | 416k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_unwrap Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_unwrap Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_unwrap <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_unwrap Line | Count | Source | 168 | 416k | fn value_slice_unwrap(&mut self, slice: ValueSlice) -> Option<(Value, ValueSlice)> { | 169 | 416k | let (list, off) = slice; | 170 | 416k | if let Some(val) = list.get(off, &self.lower_ctx.dfg().value_lists) { | 171 | 416k | Some((val, (list, off + 1))) | 172 | | } else { | 173 | 0 | None | 174 | | } | 175 | 416k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_unwrap Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_unwrap |
176 | | |
177 | | #[inline] |
178 | 0 | fn value_slice_len(&mut self, slice: ValueSlice) -> usize { |
179 | 0 | let (list, off) = slice; |
180 | 0 | list.len(&self.lower_ctx.dfg().value_lists) - off |
181 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_len Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_len Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_len Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_len |
182 | | |
183 | | #[inline] |
184 | 0 | fn value_slice_get(&mut self, slice: ValueSlice, idx: usize) -> Value { |
185 | 0 | let (list, off) = slice; |
186 | 0 | list.get(off + idx, &self.lower_ctx.dfg().value_lists) |
187 | 0 | .unwrap() |
188 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_slice_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_slice_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_slice_get |
189 | | |
190 | | #[inline] |
191 | 6.91k | fn writable_reg_to_reg(&mut self, r: WritableReg) -> Reg { |
192 | 6.91k | r.to_reg() |
193 | 6.91k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_reg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_reg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_reg_to_reg <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_reg_to_reg Line | Count | Source | 191 | 6.91k | fn writable_reg_to_reg(&mut self, r: WritableReg) -> Reg { | 192 | 6.91k | r.to_reg() | 193 | 6.91k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_reg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_reg_to_reg |
194 | | |
195 | | #[inline] |
196 | 0 | fn inst_results(&mut self, inst: Inst) -> ValueSlice { |
197 | 0 | (self.lower_ctx.dfg().inst_results_list(inst), 0) |
198 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::inst_results Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::inst_results Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::inst_results Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::inst_results Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::inst_results Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::inst_results |
199 | | |
200 | | #[inline] |
201 | 4.93M | fn first_result(&mut self, inst: Inst) -> Option<Value> { |
202 | 4.93M | self.lower_ctx.dfg().inst_results(inst).first().copied() |
203 | 4.93M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::first_result Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::first_result Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::first_result <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::first_result Line | Count | Source | 201 | 4.93M | fn first_result(&mut self, inst: Inst) -> Option<Value> { | 202 | 4.93M | self.lower_ctx.dfg().inst_results(inst).first().copied() | 203 | 4.93M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::first_result Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::first_result |
204 | | |
205 | | #[inline] |
206 | 13.9M | fn inst_data_value(&mut self, inst: Inst) -> InstructionData { |
207 | 13.9M | self.lower_ctx.dfg().insts[inst] |
208 | 13.9M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::inst_data_value Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::inst_data_value Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::inst_data_value <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::inst_data_value Line | Count | Source | 206 | 13.9M | fn inst_data_value(&mut self, inst: Inst) -> InstructionData { | 207 | 13.9M | self.lower_ctx.dfg().insts[inst] | 208 | 13.9M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::inst_data_value Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::inst_data_value |
209 | | |
210 | | #[inline] |
211 | 3.12M | fn i64_from_iconst(&mut self, val: Value) -> Option<i64> { |
212 | 3.12M | let inst = self.def_inst(val)?; |
213 | 3.10M | let constant = match self.lower_ctx.data(inst) { |
214 | | InstructionData::UnaryImm { |
215 | | opcode: Opcode::Iconst, |
216 | 853k | imm, |
217 | 853k | } => imm.bits(), |
218 | 2.25M | _ => return None, |
219 | | }; |
220 | 853k | let ty = self.lower_ctx.output_ty(inst, 0); |
221 | 853k | let shift_amt = core::cmp::max(0, 64 - self.ty_bits(ty)); |
222 | 853k | Some((constant << shift_amt) >> shift_amt) |
223 | 3.12M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::i64_from_iconst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::i64_from_iconst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::i64_from_iconst <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::i64_from_iconst Line | Count | Source | 211 | 3.12M | fn i64_from_iconst(&mut self, val: Value) -> Option<i64> { | 212 | 3.12M | let inst = self.def_inst(val)?; | 213 | 3.10M | let constant = match self.lower_ctx.data(inst) { | 214 | | InstructionData::UnaryImm { | 215 | | opcode: Opcode::Iconst, | 216 | 853k | imm, | 217 | 853k | } => imm.bits(), | 218 | 2.25M | _ => return None, | 219 | | }; | 220 | 853k | let ty = self.lower_ctx.output_ty(inst, 0); | 221 | 853k | let shift_amt = core::cmp::max(0, 64 - self.ty_bits(ty)); | 222 | 853k | Some((constant << shift_amt) >> shift_amt) | 223 | 3.12M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::i64_from_iconst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::i64_from_iconst |
224 | | |
225 | 0 | fn zero_value(&mut self, value: Value) -> Option<Value> { |
226 | 0 | let insn = self.def_inst(value); |
227 | 0 | if insn.is_some() { |
228 | 0 | let insn = insn.unwrap(); |
229 | 0 | let inst_data = self.lower_ctx.data(insn); |
230 | 0 | match inst_data { |
231 | | InstructionData::Unary { |
232 | | opcode: Opcode::Splat, |
233 | 0 | arg, |
234 | | } => { |
235 | 0 | let arg = arg.clone(); |
236 | 0 | return self.zero_value(arg); |
237 | | } |
238 | | InstructionData::UnaryConst { |
239 | | opcode: Opcode::Vconst | Opcode::F128const, |
240 | 0 | constant_handle, |
241 | | } => { |
242 | 0 | let constant_data = |
243 | 0 | self.lower_ctx.get_constant_data(*constant_handle).clone(); |
244 | 0 | if constant_data.into_vec().iter().any(|&x| x != 0) {Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::zero_value::{closure#0}Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::zero_value::{closure#0}Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::zero_value::{closure#0}Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::zero_value::{closure#0}Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::zero_value::{closure#0}Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::zero_value::{closure#0} |
245 | 0 | return None; |
246 | | } else { |
247 | 0 | return Some(value); |
248 | | } |
249 | | } |
250 | 0 | InstructionData::UnaryImm { imm, .. } => { |
251 | 0 | if imm.bits() == 0 { |
252 | 0 | return Some(value); |
253 | | } else { |
254 | 0 | return None; |
255 | | } |
256 | | } |
257 | 0 | InstructionData::UnaryIeee16 { imm, .. } => { |
258 | 0 | if imm.bits() == 0 { |
259 | 0 | return Some(value); |
260 | | } else { |
261 | 0 | return None; |
262 | | } |
263 | | } |
264 | 0 | InstructionData::UnaryIeee32 { imm, .. } => { |
265 | 0 | if imm.bits() == 0 { |
266 | 0 | return Some(value); |
267 | | } else { |
268 | 0 | return None; |
269 | | } |
270 | | } |
271 | 0 | InstructionData::UnaryIeee64 { imm, .. } => { |
272 | 0 | if imm.bits() == 0 { |
273 | 0 | return Some(value); |
274 | | } else { |
275 | 0 | return None; |
276 | | } |
277 | | } |
278 | 0 | _ => None, |
279 | | } |
280 | | } else { |
281 | 0 | None |
282 | | } |
283 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::zero_value Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::zero_value Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::zero_value Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::zero_value Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::zero_value Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::zero_value |
284 | | |
285 | | #[inline] |
286 | 0 | fn tls_model(&mut self, _: Type) -> TlsModel { |
287 | 0 | self.backend.flags().tls_model() |
288 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model |
289 | | |
290 | | #[inline] |
291 | 0 | fn tls_model_is_elf_gd(&mut self) -> Option<()> { |
292 | 0 | if self.backend.flags().tls_model() == TlsModel::ElfGd { |
293 | 0 | Some(()) |
294 | | } else { |
295 | 0 | None |
296 | | } |
297 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_elf_gd Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_elf_gd Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_elf_gd Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_elf_gd Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_elf_gd Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_elf_gd |
298 | | |
299 | | #[inline] |
300 | 0 | fn tls_model_is_macho(&mut self) -> Option<()> { |
301 | 0 | if self.backend.flags().tls_model() == TlsModel::Macho { |
302 | 0 | Some(()) |
303 | | } else { |
304 | 0 | None |
305 | | } |
306 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_macho Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_macho Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_macho Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_macho Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_macho Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_macho |
307 | | |
308 | | #[inline] |
309 | 0 | fn tls_model_is_coff(&mut self) -> Option<()> { |
310 | 0 | if self.backend.flags().tls_model() == TlsModel::Coff { |
311 | 0 | Some(()) |
312 | | } else { |
313 | 0 | None |
314 | | } |
315 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_coff Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_coff Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_coff Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::tls_model_is_coff Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::tls_model_is_coff Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::tls_model_is_coff |
316 | | |
317 | | #[inline] |
318 | 0 | fn preserve_frame_pointers(&mut self) -> Option<()> { |
319 | 0 | if self.backend.flags().preserve_frame_pointers() { |
320 | 0 | Some(()) |
321 | | } else { |
322 | 0 | None |
323 | | } |
324 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::preserve_frame_pointers Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::preserve_frame_pointers Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::preserve_frame_pointers Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::preserve_frame_pointers Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::preserve_frame_pointers Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::preserve_frame_pointers |
325 | | |
326 | | #[inline] |
327 | 0 | fn stack_switch_model(&mut self) -> Option<StackSwitchModel> { |
328 | 0 | Some(self.backend.flags().stack_switch_model()) |
329 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::stack_switch_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::stack_switch_model Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::stack_switch_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::stack_switch_model Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::stack_switch_model Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::stack_switch_model |
330 | | |
331 | | #[inline] |
332 | 28.9k | fn func_ref_data( |
333 | 28.9k | &mut self, |
334 | 28.9k | func_ref: FuncRef, |
335 | 28.9k | ) -> (SigRef, ExternalName, RelocDistance, bool) { |
336 | 28.9k | let funcdata = &self.lower_ctx.dfg().ext_funcs[func_ref]; |
337 | 28.9k | let reloc_distance = if funcdata.colocated { |
338 | 28.9k | RelocDistance::Near |
339 | | } else { |
340 | 0 | RelocDistance::Far |
341 | | }; |
342 | 28.9k | ( |
343 | 28.9k | funcdata.signature, |
344 | 28.9k | funcdata.name.clone(), |
345 | 28.9k | reloc_distance, |
346 | 28.9k | funcdata.patchable, |
347 | 28.9k | ) |
348 | 28.9k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::func_ref_data Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::func_ref_data Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::func_ref_data <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::func_ref_data Line | Count | Source | 332 | 28.9k | fn func_ref_data( | 333 | 28.9k | &mut self, | 334 | 28.9k | func_ref: FuncRef, | 335 | 28.9k | ) -> (SigRef, ExternalName, RelocDistance, bool) { | 336 | 28.9k | let funcdata = &self.lower_ctx.dfg().ext_funcs[func_ref]; | 337 | 28.9k | let reloc_distance = if funcdata.colocated { | 338 | 28.9k | RelocDistance::Near | 339 | | } else { | 340 | 0 | RelocDistance::Far | 341 | | }; | 342 | 28.9k | ( | 343 | 28.9k | funcdata.signature, | 344 | 28.9k | funcdata.name.clone(), | 345 | 28.9k | reloc_distance, | 346 | 28.9k | funcdata.patchable, | 347 | 28.9k | ) | 348 | 28.9k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::func_ref_data Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::func_ref_data |
349 | | |
350 | | #[inline] |
351 | 0 | fn exception_sig(&mut self, et: ExceptionTable) -> SigRef { |
352 | 0 | self.lower_ctx.dfg().exception_tables[et].signature() |
353 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::exception_sig Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::exception_sig Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::exception_sig Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::exception_sig Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::exception_sig Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::exception_sig |
354 | | |
355 | | #[inline] |
356 | 0 | fn box_external_name(&mut self, extname: ExternalName) -> BoxExternalName { |
357 | 0 | Box::new(extname) |
358 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::box_external_name Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::box_external_name Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::box_external_name Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::box_external_name Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::box_external_name Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::box_external_name |
359 | | |
360 | | #[inline] |
361 | 0 | fn symbol_value_data( |
362 | 0 | &mut self, |
363 | 0 | global_value: GlobalValue, |
364 | 0 | ) -> Option<(ExternalName, RelocDistance, i64)> { |
365 | 0 | let (name, reloc, offset) = self.lower_ctx.symbol_value_data(global_value)?; |
366 | 0 | Some((name.clone(), reloc, offset)) |
367 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::symbol_value_data Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::symbol_value_data Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::symbol_value_data Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::symbol_value_data Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::symbol_value_data Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::symbol_value_data |
368 | | |
369 | | #[inline] |
370 | 0 | fn u128_from_immediate(&mut self, imm: Immediate) -> Option<u128> { |
371 | 0 | let bytes = self.lower_ctx.get_immediate_data(imm).as_slice(); |
372 | 0 | Some(u128::from_le_bytes(bytes.try_into().ok()?)) |
373 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u128_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u128_from_immediate Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u128_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u128_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u128_from_immediate Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u128_from_immediate |
374 | | |
375 | | #[inline] |
376 | 0 | fn vconst_from_immediate(&mut self, imm: Immediate) -> Option<VCodeConstant> { |
377 | 0 | Some(self.lower_ctx.use_constant(VCodeConstantData::Generated( |
378 | 0 | self.lower_ctx.get_immediate_data(imm).clone(), |
379 | 0 | ))) |
380 | 0 | } Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::vconst_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::vconst_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::vconst_from_immediate Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::vconst_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::vconst_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::vconst_from_immediate |
381 | | |
382 | | #[inline] |
383 | 0 | fn vec_mask_from_immediate(&mut self, imm: Immediate) -> Option<VecMask> { |
384 | 0 | let data = self.lower_ctx.get_immediate_data(imm); |
385 | 0 | if data.len() == 16 { |
386 | 0 | Some(Vec::from(data.as_slice())) |
387 | | } else { |
388 | 0 | None |
389 | | } |
390 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::vec_mask_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::vec_mask_from_immediate Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::vec_mask_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::vec_mask_from_immediate Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::vec_mask_from_immediate Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::vec_mask_from_immediate |
391 | | |
392 | | #[inline] |
393 | 0 | fn u64_from_constant(&mut self, constant: Constant) -> Option<u64> { |
394 | 0 | let bytes = self.lower_ctx.get_constant_data(constant).as_slice(); |
395 | 0 | Some(u64::from_le_bytes(bytes.try_into().ok()?)) |
396 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u64_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u64_from_constant Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u64_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u64_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u64_from_constant Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u64_from_constant |
397 | | |
398 | | #[inline] |
399 | 0 | fn u128_from_constant(&mut self, constant: Constant) -> Option<u128> { |
400 | 0 | let bytes = self.lower_ctx.get_constant_data(constant).as_slice(); |
401 | 0 | Some(u128::from_le_bytes(bytes.try_into().ok()?)) |
402 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u128_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u128_from_constant Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u128_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::u128_from_constant Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::u128_from_constant Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::u128_from_constant |
403 | | |
404 | | #[inline] |
405 | 26.7k | fn emit_u64_le_const(&mut self, value: u64) -> VCodeConstant { |
406 | 26.7k | let data = VCodeConstantData::U64(value.to_le_bytes()); |
407 | 26.7k | self.lower_ctx.use_constant(data) |
408 | 26.7k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u64_le_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u64_le_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u64_le_const <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u64_le_const Line | Count | Source | 405 | 26.7k | fn emit_u64_le_const(&mut self, value: u64) -> VCodeConstant { | 406 | 26.7k | let data = VCodeConstantData::U64(value.to_le_bytes()); | 407 | 26.7k | self.lower_ctx.use_constant(data) | 408 | 26.7k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u64_le_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u64_le_const |
409 | | |
410 | | #[inline] |
411 | 0 | fn emit_u64_be_const(&mut self, value: u64) -> VCodeConstant { |
412 | 0 | let data = VCodeConstantData::U64(value.to_be_bytes()); |
413 | 0 | self.lower_ctx.use_constant(data) |
414 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u64_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u64_be_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u64_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u64_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u64_be_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u64_be_const |
415 | | |
416 | | #[inline] |
417 | 43.9k | fn emit_u128_le_const(&mut self, value: u128) -> VCodeConstant { |
418 | 43.9k | let data = VCodeConstantData::Generated(value.to_le_bytes().as_slice().into()); |
419 | 43.9k | self.lower_ctx.use_constant(data) |
420 | 43.9k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u128_le_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u128_le_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u128_le_const <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u128_le_const Line | Count | Source | 417 | 43.9k | fn emit_u128_le_const(&mut self, value: u128) -> VCodeConstant { | 418 | 43.9k | let data = VCodeConstantData::Generated(value.to_le_bytes().as_slice().into()); | 419 | 43.9k | self.lower_ctx.use_constant(data) | 420 | 43.9k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u128_le_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u128_le_const |
421 | | |
422 | | #[inline] |
423 | 0 | fn emit_u128_be_const(&mut self, value: u128) -> VCodeConstant { |
424 | 0 | let data = VCodeConstantData::Generated(value.to_be_bytes().as_slice().into()); |
425 | 0 | self.lower_ctx.use_constant(data) |
426 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u128_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u128_be_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u128_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::emit_u128_be_const Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::emit_u128_be_const Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::emit_u128_be_const |
427 | | |
428 | | #[inline] |
429 | 0 | fn const_to_vconst(&mut self, constant: Constant) -> VCodeConstant { |
430 | 0 | self.lower_ctx.use_constant(VCodeConstantData::Pool( |
431 | 0 | constant, |
432 | 0 | self.lower_ctx.get_constant_data(constant).clone(), |
433 | 0 | )) |
434 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::const_to_vconst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::const_to_vconst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::const_to_vconst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::const_to_vconst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::const_to_vconst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::const_to_vconst |
435 | | |
436 | 0 | fn only_writable_reg(&mut self, regs: WritableValueRegs) -> Option<WritableReg> { |
437 | 0 | regs.only_reg() |
438 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::only_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::only_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::only_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::only_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::only_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::only_writable_reg |
439 | | |
440 | 0 | fn writable_regs_get(&mut self, regs: WritableValueRegs, idx: usize) -> WritableReg { |
441 | 0 | regs.regs()[idx] |
442 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_regs_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_regs_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_regs_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::writable_regs_get Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::writable_regs_get Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::writable_regs_get |
443 | | |
444 | 445k | fn abi_sig(&mut self, sig_ref: SigRef) -> Sig { |
445 | 445k | self.lower_ctx.sigs().abi_sig_for_sig_ref(sig_ref) |
446 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_sig Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_sig Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_sig <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_sig Line | Count | Source | 444 | 445k | fn abi_sig(&mut self, sig_ref: SigRef) -> Sig { | 445 | 445k | self.lower_ctx.sigs().abi_sig_for_sig_ref(sig_ref) | 446 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_sig Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_sig |
447 | | |
448 | 0 | fn abi_num_args(&mut self, abi: Sig) -> usize { |
449 | 0 | self.lower_ctx.sigs().num_args(abi) |
450 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_num_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_num_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_num_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_num_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_num_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_num_args |
451 | | |
452 | 0 | fn abi_get_arg(&mut self, abi: Sig, idx: usize) -> ABIArg { |
453 | 0 | self.lower_ctx.sigs().get_arg(abi, idx) |
454 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_get_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_get_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_get_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_get_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_get_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_get_arg |
455 | | |
456 | 0 | fn abi_num_rets(&mut self, abi: Sig) -> usize { |
457 | 0 | self.lower_ctx.sigs().num_rets(abi) |
458 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_num_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_num_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_num_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_num_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_num_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_num_rets |
459 | | |
460 | 0 | fn abi_get_ret(&mut self, abi: Sig, idx: usize) -> ABIArg { |
461 | 0 | self.lower_ctx.sigs().get_ret(abi, idx) |
462 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_get_ret Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_get_ret Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_get_ret Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_get_ret Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_get_ret Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_get_ret |
463 | | |
464 | 0 | fn abi_ret_arg(&mut self, abi: Sig) -> Option<ABIArg> { |
465 | 0 | self.lower_ctx.sigs().get_ret_arg(abi) |
466 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_ret_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_ret_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_ret_arg |
467 | | |
468 | 0 | fn abi_no_ret_arg(&mut self, abi: Sig) -> Option<()> { |
469 | 0 | if let Some(_) = self.lower_ctx.sigs().get_ret_arg(abi) { |
470 | 0 | None |
471 | | } else { |
472 | 0 | Some(()) |
473 | | } |
474 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_no_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_no_ret_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_no_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_no_ret_arg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_no_ret_arg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_no_ret_arg |
475 | | |
476 | 0 | fn abi_arg_only_slot(&mut self, arg: &ABIArg) -> Option<ABIArgSlot> { |
477 | 0 | match arg { |
478 | 0 | &ABIArg::Slots { ref slots, .. } => { |
479 | 0 | if slots.len() == 1 { |
480 | 0 | Some(slots[0]) |
481 | | } else { |
482 | 0 | None |
483 | | } |
484 | | } |
485 | 0 | _ => None, |
486 | | } |
487 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_arg_only_slot Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_arg_only_slot Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_arg_only_slot Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_arg_only_slot Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_arg_only_slot Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_arg_only_slot |
488 | | |
489 | 0 | fn abi_arg_implicit_pointer(&mut self, arg: &ABIArg) -> Option<(ABIArgSlot, i64, Type)> { |
490 | 0 | match arg { |
491 | | &ABIArg::ImplicitPtrArg { |
492 | 0 | pointer, |
493 | 0 | offset, |
494 | 0 | ty, |
495 | | .. |
496 | 0 | } => Some((pointer, offset, ty)), |
497 | 0 | _ => None, |
498 | | } |
499 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_arg_implicit_pointer |
500 | | |
501 | 0 | fn abi_unwrap_ret_area_ptr(&mut self) -> Reg { |
502 | 0 | self.lower_ctx.abi().ret_area_ptr().unwrap() |
503 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_unwrap_ret_area_ptr |
504 | | |
505 | 0 | fn abi_stackslot_addr( |
506 | 0 | &mut self, |
507 | 0 | dst: WritableReg, |
508 | 0 | stack_slot: StackSlot, |
509 | 0 | offset: Offset32, |
510 | 0 | ) -> MInst { |
511 | 0 | let offset = u32::try_from(i32::from(offset)).unwrap(); |
512 | 0 | self.lower_ctx |
513 | 0 | .abi() |
514 | 0 | .sized_stackslot_addr(stack_slot, offset, dst) |
515 | 0 | .into() |
516 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_stackslot_addr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_stackslot_addr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_stackslot_addr |
517 | | |
518 | 0 | fn abi_stackslot_offset_into_slot_region( |
519 | 0 | &mut self, |
520 | 0 | stack_slot: StackSlot, |
521 | 0 | offset1: Offset32, |
522 | 0 | offset2: Offset32, |
523 | 0 | ) -> i32 { |
524 | 0 | let offset1 = i32::from(offset1); |
525 | 0 | let offset2 = i32::from(offset2); |
526 | 0 | i32::try_from(self.lower_ctx.abi().sized_stackslot_offset(stack_slot)) |
527 | 0 | .expect("Stack slot region cannot be larger than 2GiB") |
528 | 0 | .checked_add(offset1) |
529 | 0 | .expect("Stack slot region cannot be larger than 2GiB") |
530 | 0 | .checked_add(offset2) |
531 | 0 | .expect("Stack slot region cannot be larger than 2GiB") |
532 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_stackslot_offset_into_slot_region |
533 | | |
534 | 0 | fn abi_dynamic_stackslot_addr( |
535 | 0 | &mut self, |
536 | 0 | dst: WritableReg, |
537 | 0 | stack_slot: DynamicStackSlot, |
538 | 0 | ) -> MInst { |
539 | 0 | assert!( |
540 | 0 | self.lower_ctx |
541 | 0 | .abi() |
542 | 0 | .dynamic_stackslot_offsets() |
543 | 0 | .is_valid(stack_slot) |
544 | | ); |
545 | 0 | self.lower_ctx |
546 | 0 | .abi() |
547 | 0 | .dynamic_stackslot_addr(stack_slot, dst) |
548 | 0 | .into() |
549 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::abi_dynamic_stackslot_addr |
550 | | |
551 | 0 | fn real_reg_to_reg(&mut self, reg: RealReg) -> Reg { |
552 | 0 | Reg::from(reg) |
553 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::real_reg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::real_reg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::real_reg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::real_reg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::real_reg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::real_reg_to_reg |
554 | | |
555 | 0 | fn real_reg_to_writable_reg(&mut self, reg: RealReg) -> WritableReg { |
556 | 0 | Writable::from_reg(Reg::from(reg)) |
557 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::real_reg_to_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::real_reg_to_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::real_reg_to_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::real_reg_to_writable_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::real_reg_to_writable_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::real_reg_to_writable_reg |
558 | | |
559 | 1.95M | fn is_sinkable_inst(&mut self, val: Value) -> Option<Inst> { |
560 | 1.95M | let input = self.lower_ctx.get_value_as_source_or_const(val); |
561 | | |
562 | 1.95M | if let InputSourceInst::UniqueUse(inst, _) = input.inst { |
563 | 412k | Some(inst) |
564 | | } else { |
565 | 1.54M | None |
566 | | } |
567 | 1.95M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::is_sinkable_inst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::is_sinkable_inst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::is_sinkable_inst <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::is_sinkable_inst Line | Count | Source | 559 | 1.95M | fn is_sinkable_inst(&mut self, val: Value) -> Option<Inst> { | 560 | 1.95M | let input = self.lower_ctx.get_value_as_source_or_const(val); | 561 | | | 562 | 1.95M | if let InputSourceInst::UniqueUse(inst, _) = input.inst { | 563 | 412k | Some(inst) | 564 | | } else { | 565 | 1.54M | None | 566 | | } | 567 | 1.95M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::is_sinkable_inst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::is_sinkable_inst |
568 | | |
569 | | #[inline] |
570 | 0 | fn sink_inst(&mut self, inst: Inst) { |
571 | 0 | self.lower_ctx.sink_inst(inst); |
572 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::sink_inst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::sink_inst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::sink_inst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::sink_inst Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::sink_inst Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::sink_inst |
573 | | |
574 | | #[inline] |
575 | 77 | fn maybe_uextend(&mut self, value: Value) -> Option<Value> { |
576 | 77 | if let Some(def_inst) = self.def_inst(value) { |
577 | | if let InstructionData::Unary { |
578 | | opcode: Opcode::Uextend, |
579 | 0 | arg, |
580 | 76 | } = self.lower_ctx.data(def_inst) |
581 | | { |
582 | 0 | return Some(*arg); |
583 | 76 | } |
584 | 1 | } |
585 | | |
586 | 77 | Some(value) |
587 | 77 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::maybe_uextend Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::maybe_uextend Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::maybe_uextend <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::maybe_uextend Line | Count | Source | 575 | 77 | fn maybe_uextend(&mut self, value: Value) -> Option<Value> { | 576 | 77 | if let Some(def_inst) = self.def_inst(value) { | 577 | | if let InstructionData::Unary { | 578 | | opcode: Opcode::Uextend, | 579 | 0 | arg, | 580 | 76 | } = self.lower_ctx.data(def_inst) | 581 | | { | 582 | 0 | return Some(*arg); | 583 | 76 | } | 584 | 1 | } | 585 | | | 586 | 77 | Some(value) | 587 | 77 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::maybe_uextend Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::maybe_uextend |
588 | | |
589 | | #[inline] |
590 | 298 | fn uimm8(&mut self, x: Imm64) -> Option<u8> { |
591 | 298 | let x64: i64 = x.into(); |
592 | 298 | let x8: u8 = x64.try_into().ok()?; |
593 | 298 | Some(x8) |
594 | 298 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::uimm8 Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::uimm8 Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::uimm8 <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::uimm8 Line | Count | Source | 590 | 298 | fn uimm8(&mut self, x: Imm64) -> Option<u8> { | 591 | 298 | let x64: i64 = x.into(); | 592 | 298 | let x8: u8 = x64.try_into().ok()?; | 593 | 298 | Some(x8) | 594 | 298 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::uimm8 Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::uimm8 |
595 | | |
596 | | #[inline] |
597 | 0 | fn preg_to_reg(&mut self, preg: PReg) -> Reg { |
598 | 0 | preg.into() |
599 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::preg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::preg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::preg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::preg_to_reg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::preg_to_reg Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::preg_to_reg |
600 | | |
601 | | #[inline] |
602 | 0 | fn gen_move(&mut self, ty: Type, dst: WritableReg, src: Reg) -> MInst { |
603 | 0 | <$inst>::gen_move(dst, src, ty).into() |
604 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_move Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_move Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_move Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_move Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_move Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_move |
605 | | |
606 | | /// Generate the return instruction. |
607 | 189k | fn gen_return(&mut self, rets: &ValueRegsVec) { |
608 | 189k | self.lower_ctx.gen_return(rets); |
609 | 189k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_return Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_return Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_return <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_return Line | Count | Source | 607 | 189k | fn gen_return(&mut self, rets: &ValueRegsVec) { | 608 | 189k | self.lower_ctx.gen_return(rets); | 609 | 189k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_return Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_return |
610 | | |
611 | 445k | fn gen_call_output(&mut self, sig_ref: SigRef) -> ValueRegsVec { |
612 | 445k | self.lower_ctx.gen_call_output_from_sig_ref(sig_ref) |
613 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_output Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_output Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_output <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_output Line | Count | Source | 611 | 445k | fn gen_call_output(&mut self, sig_ref: SigRef) -> ValueRegsVec { | 612 | 445k | self.lower_ctx.gen_call_output_from_sig_ref(sig_ref) | 613 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_output Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_output |
614 | | |
615 | 445k | fn gen_call_args(&mut self, sig: Sig, inputs: &ValueRegsVec) -> CallArgList { |
616 | 445k | self.lower_ctx.gen_call_args(sig, inputs) |
617 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_args <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_args Line | Count | Source | 615 | 445k | fn gen_call_args(&mut self, sig: Sig, inputs: &ValueRegsVec) -> CallArgList { | 616 | 445k | self.lower_ctx.gen_call_args(sig, inputs) | 617 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_args |
618 | | |
619 | 0 | fn gen_return_call_args(&mut self, sig: Sig, inputs: &ValueRegsVec) -> CallArgList { |
620 | 0 | self.lower_ctx.gen_return_call_args(sig, inputs) |
621 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_return_call_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_return_call_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_return_call_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_return_call_args Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_return_call_args Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_return_call_args |
622 | | |
623 | 445k | fn gen_call_rets(&mut self, sig: Sig, outputs: &ValueRegsVec) -> CallRetList { |
624 | 445k | self.lower_ctx.gen_call_rets(sig, &outputs) |
625 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_rets <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_call_rets Line | Count | Source | 623 | 445k | fn gen_call_rets(&mut self, sig: Sig, outputs: &ValueRegsVec) -> CallRetList { | 624 | 445k | self.lower_ctx.gen_call_rets(sig, &outputs) | 625 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_call_rets |
626 | | |
627 | 0 | fn gen_try_call_rets(&mut self, sig: Sig) -> CallRetList { |
628 | 0 | self.lower_ctx.gen_try_call_rets(sig) |
629 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_try_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_try_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_try_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_try_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_try_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_try_call_rets |
630 | | |
631 | 0 | fn gen_patchable_call_rets(&mut self) -> CallRetList { |
632 | 0 | smallvec::smallvec![] |
633 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_patchable_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_patchable_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_patchable_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::gen_patchable_call_rets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::gen_patchable_call_rets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::gen_patchable_call_rets |
634 | | |
635 | 445k | fn try_call_none(&mut self) -> OptionTryCallInfo { |
636 | 445k | None |
637 | 445k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::try_call_none Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::try_call_none Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::try_call_none <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::try_call_none Line | Count | Source | 635 | 445k | fn try_call_none(&mut self) -> OptionTryCallInfo { | 636 | 445k | None | 637 | 445k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::try_call_none Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::try_call_none |
638 | | |
639 | 0 | fn try_call_info( |
640 | 0 | &mut self, |
641 | 0 | et: ExceptionTable, |
642 | 0 | labels: &MachLabelSlice, |
643 | 0 | ) -> OptionTryCallInfo { |
644 | 0 | let mut exception_handlers = vec![]; |
645 | 0 | let mut labels = labels.iter().cloned(); |
646 | 0 | for item in self.lower_ctx.dfg().exception_tables[et].clone().items() { |
647 | 0 | match item { |
648 | 0 | crate::ir::ExceptionTableItem::Tag(tag, _) => { |
649 | 0 | exception_handlers.push(crate::machinst::abi::TryCallHandler::Tag( |
650 | 0 | tag, |
651 | 0 | labels.next().unwrap(), |
652 | 0 | )); |
653 | 0 | } |
654 | 0 | crate::ir::ExceptionTableItem::Default(_) => { |
655 | 0 | exception_handlers.push(crate::machinst::abi::TryCallHandler::Default( |
656 | 0 | labels.next().unwrap(), |
657 | 0 | )); |
658 | 0 | } |
659 | 0 | crate::ir::ExceptionTableItem::Context(ctx) => { |
660 | 0 | let reg = self.put_in_reg(ctx); |
661 | 0 | exception_handlers.push(crate::machinst::abi::TryCallHandler::Context(reg)); |
662 | 0 | } |
663 | | } |
664 | | } |
665 | | |
666 | 0 | let continuation = labels.next().unwrap(); |
667 | 0 | assert_eq!(labels.next(), None); |
668 | | |
669 | 0 | let exception_handlers = exception_handlers.into_boxed_slice(); |
670 | | |
671 | 0 | Some(TryCallInfo { |
672 | 0 | continuation, |
673 | 0 | exception_handlers, |
674 | 0 | }) |
675 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::try_call_info Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::try_call_info Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::try_call_info Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::try_call_info Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::try_call_info Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::try_call_info |
676 | | |
677 | | /// Same as `shuffle32_from_imm`, but for 64-bit lane shuffles. |
678 | 0 | fn shuffle64_from_imm(&mut self, imm: Immediate) -> Option<(u8, u8)> { |
679 | | use crate::machinst::isle::shuffle_imm_as_le_lane_idx; |
680 | | |
681 | 0 | let bytes = self.lower_ctx.get_immediate_data(imm).as_slice(); |
682 | | Some(( |
683 | 0 | shuffle_imm_as_le_lane_idx(8, &bytes[0..8])?, |
684 | 0 | shuffle_imm_as_le_lane_idx(8, &bytes[8..16])?, |
685 | | )) |
686 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle64_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle64_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle64_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle64_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle64_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle64_from_imm |
687 | | |
688 | | /// Attempts to interpret the shuffle immediate `imm` as a shuffle of |
689 | | /// 32-bit lanes, returning four integers, each of which is less than 8, |
690 | | /// which represents a permutation of 32-bit lanes as specified by |
691 | | /// `imm`. |
692 | | /// |
693 | | /// For example the shuffle immediate |
694 | | /// |
695 | | /// `0 1 2 3 8 9 10 11 16 17 18 19 24 25 26 27` |
696 | | /// |
697 | | /// would return `Some((0, 2, 4, 6))`. |
698 | 0 | fn shuffle32_from_imm(&mut self, imm: Immediate) -> Option<(u8, u8, u8, u8)> { |
699 | | use crate::machinst::isle::shuffle_imm_as_le_lane_idx; |
700 | | |
701 | 0 | let bytes = self.lower_ctx.get_immediate_data(imm).as_slice(); |
702 | | Some(( |
703 | 0 | shuffle_imm_as_le_lane_idx(4, &bytes[0..4])?, |
704 | 0 | shuffle_imm_as_le_lane_idx(4, &bytes[4..8])?, |
705 | 0 | shuffle_imm_as_le_lane_idx(4, &bytes[8..12])?, |
706 | 0 | shuffle_imm_as_le_lane_idx(4, &bytes[12..16])?, |
707 | | )) |
708 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle32_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle32_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle32_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle32_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle32_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle32_from_imm |
709 | | |
710 | | /// Same as `shuffle32_from_imm`, but for 16-bit lane shuffles. |
711 | 0 | fn shuffle16_from_imm( |
712 | 0 | &mut self, |
713 | 0 | imm: Immediate, |
714 | 0 | ) -> Option<(u8, u8, u8, u8, u8, u8, u8, u8)> { |
715 | | use crate::machinst::isle::shuffle_imm_as_le_lane_idx; |
716 | 0 | let bytes = self.lower_ctx.get_immediate_data(imm).as_slice(); |
717 | | Some(( |
718 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[0..2])?, |
719 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[2..4])?, |
720 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[4..6])?, |
721 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[6..8])?, |
722 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[8..10])?, |
723 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[10..12])?, |
724 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[12..14])?, |
725 | 0 | shuffle_imm_as_le_lane_idx(2, &bytes[14..16])?, |
726 | | )) |
727 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle16_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle16_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle16_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::shuffle16_from_imm Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::shuffle16_from_imm Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::shuffle16_from_imm |
728 | | |
729 | 129 | fn safe_divisor_from_imm64(&mut self, ty: Type, val: Imm64) -> Option<u64> { |
730 | 129 | let minus_one = if ty.bytes() == 8 { |
731 | 78 | -1 |
732 | | } else { |
733 | 51 | (1 << (ty.bytes() * 8)) - 1 |
734 | | }; |
735 | 129 | let bits = val.bits() & minus_one; |
736 | 129 | if bits == 0 || bits == minus_one { |
737 | 129 | None |
738 | | } else { |
739 | 0 | Some(bits as u64) |
740 | | } |
741 | 129 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 Line | Count | Source | 729 | 129 | fn safe_divisor_from_imm64(&mut self, ty: Type, val: Imm64) -> Option<u64> { | 730 | 129 | let minus_one = if ty.bytes() == 8 { | 731 | 78 | -1 | 732 | | } else { | 733 | 51 | (1 << (ty.bytes() * 8)) - 1 | 734 | | }; | 735 | 129 | let bits = val.bits() & minus_one; | 736 | 129 | if bits == 0 || bits == minus_one { | 737 | 129 | None | 738 | | } else { | 739 | 0 | Some(bits as u64) | 740 | | } | 741 | 129 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::safe_divisor_from_imm64 |
742 | | |
743 | 540k | fn single_target(&mut self, targets: &MachLabelSlice) -> Option<MachLabel> { |
744 | 540k | if targets.len() == 1 { |
745 | 540k | Some(targets[0]) |
746 | | } else { |
747 | 0 | None |
748 | | } |
749 | 540k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::single_target Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::single_target Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::single_target <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::single_target Line | Count | Source | 743 | 540k | fn single_target(&mut self, targets: &MachLabelSlice) -> Option<MachLabel> { | 744 | 540k | if targets.len() == 1 { | 745 | 540k | Some(targets[0]) | 746 | | } else { | 747 | 0 | None | 748 | | } | 749 | 540k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::single_target Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::single_target |
750 | | |
751 | 344k | fn two_targets(&mut self, targets: &MachLabelSlice) -> Option<(MachLabel, MachLabel)> { |
752 | 344k | if targets.len() == 2 { |
753 | 344k | Some((targets[0], targets[1])) |
754 | | } else { |
755 | 0 | None |
756 | | } |
757 | 344k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::two_targets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::two_targets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::two_targets <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::two_targets Line | Count | Source | 751 | 344k | fn two_targets(&mut self, targets: &MachLabelSlice) -> Option<(MachLabel, MachLabel)> { | 752 | 344k | if targets.len() == 2 { | 753 | 344k | Some((targets[0], targets[1])) | 754 | | } else { | 755 | 0 | None | 756 | | } | 757 | 344k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::two_targets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::two_targets |
758 | | |
759 | 307 | fn jump_table_targets( |
760 | 307 | &mut self, |
761 | 307 | targets: &MachLabelSlice, |
762 | 307 | ) -> Option<(MachLabel, BoxVecMachLabel)> { |
763 | | use alloc::boxed::Box; |
764 | 307 | if targets.is_empty() { |
765 | 0 | return None; |
766 | 307 | } |
767 | | |
768 | 307 | let default_label = targets[0]; |
769 | 307 | let jt_targets = Box::new(targets[1..].to_vec()); |
770 | 307 | Some((default_label, jt_targets)) |
771 | 307 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::jump_table_targets Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::jump_table_targets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::jump_table_targets <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::jump_table_targets Line | Count | Source | 759 | 307 | fn jump_table_targets( | 760 | 307 | &mut self, | 761 | 307 | targets: &MachLabelSlice, | 762 | 307 | ) -> Option<(MachLabel, BoxVecMachLabel)> { | 763 | | use alloc::boxed::Box; | 764 | 307 | if targets.is_empty() { | 765 | 0 | return None; | 766 | 307 | } | 767 | | | 768 | 307 | let default_label = targets[0]; | 769 | 307 | let jt_targets = Box::new(targets[1..].to_vec()); | 770 | 307 | Some((default_label, jt_targets)) | 771 | 307 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::jump_table_targets Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::jump_table_targets |
772 | | |
773 | 307 | fn jump_table_size(&mut self, targets: &BoxVecMachLabel) -> u32 { |
774 | 307 | targets.len() as u32 |
775 | 307 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::jump_table_size Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::jump_table_size Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::jump_table_size <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::jump_table_size Line | Count | Source | 773 | 307 | fn jump_table_size(&mut self, targets: &BoxVecMachLabel) -> u32 { | 774 | 307 | targets.len() as u32 | 775 | 307 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::jump_table_size Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::jump_table_size |
776 | | |
777 | 528 | fn add_range_fact(&mut self, reg: Reg, bits: u16, min: u64, max: u64) -> Reg { |
778 | 528 | self.lower_ctx.add_range_fact(reg, bits, min, max); |
779 | 528 | reg |
780 | 528 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::add_range_fact Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::add_range_fact Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::add_range_fact <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::add_range_fact Line | Count | Source | 777 | 528 | fn add_range_fact(&mut self, reg: Reg, bits: u16, min: u64, max: u64) -> Reg { | 778 | 528 | self.lower_ctx.add_range_fact(reg, bits, min, max); | 779 | 528 | reg | 780 | 528 | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::add_range_fact Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::add_range_fact |
781 | | |
782 | 4.55k | fn value_is_unused(&mut self, val: Value) -> bool { |
783 | 4.55k | self.lower_ctx.value_is_unused(val) |
784 | 4.55k | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_is_unused Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_is_unused Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_is_unused <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::value_is_unused Line | Count | Source | 782 | 4.55k | fn value_is_unused(&mut self, val: Value) -> bool { | 783 | 4.55k | self.lower_ctx.value_is_unused(val) | 784 | 4.55k | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::value_is_unused Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::value_is_unused |
785 | | |
786 | 0 | fn block_exn_successor_label(&mut self, block: &Block, exn_succ: u64) -> MachLabel { |
787 | | // The first N successors are the exceptional edges, and |
788 | | // the normal return is last; so the `exn_succ`'th |
789 | | // exceptional edge is just the `exn_succ`'th edge overall. |
790 | 0 | let succ = usize::try_from(exn_succ).unwrap(); |
791 | 0 | self.lower_ctx.block_successor_label(*block, succ) |
792 | 0 | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::block_exn_successor_label Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::block_exn_successor_label Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::block_exn_successor_label Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend> as cranelift_codegen::isa::x64::lower::isle::generated_code::Context>::block_exn_successor_label Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend> as cranelift_codegen::isa::aarch64::lower::isle::generated_code::Context>::block_exn_successor_label Unexecuted instantiation: <cranelift_codegen::isa::riscv64::lower::isle::RV64IsleContext<cranelift_codegen::isa::riscv64::lower::isle::generated_code::MInst, cranelift_codegen::isa::riscv64::Riscv64Backend> as cranelift_codegen::isa::riscv64::lower::isle::generated_code::Context>::block_exn_successor_label |
793 | | }; |
794 | | } |
795 | | |
796 | | /// Returns the `size`-byte lane referred to by the shuffle immediate specified |
797 | | /// in `bytes`. |
798 | | /// |
799 | | /// This helper is used by `shuffleNN_from_imm` above and is used to interpret a |
800 | | /// byte-based shuffle as a higher-level shuffle of bigger lanes. This will see |
801 | | /// if the `bytes` specified, which must have `size` length, specifies a lane in |
802 | | /// vectors aligned to a `size`-byte boundary. |
803 | | /// |
804 | | /// Returns `None` if `bytes` doesn't specify a `size`-byte lane aligned |
805 | | /// appropriately, or returns `Some(n)` where `n` is the index of the lane being |
806 | | /// shuffled. |
807 | 0 | pub fn shuffle_imm_as_le_lane_idx(size: u8, bytes: &[u8]) -> Option<u8> { |
808 | 0 | assert_eq!(bytes.len(), usize::from(size)); |
809 | | |
810 | | // The first index in `bytes` must be aligned to a `size` boundary for the |
811 | | // bytes to be a valid specifier for a lane of `size` bytes. |
812 | 0 | if bytes[0] % size != 0 { |
813 | 0 | return None; |
814 | 0 | } |
815 | | |
816 | | // Afterwards the bytes must all be one larger than the prior to specify a |
817 | | // contiguous sequence of bytes that's being shuffled. Basically `bytes` |
818 | | // must refer to the entire `size`-byte lane, in little-endian order. |
819 | 0 | for i in 0..size - 1 { |
820 | 0 | let idx = usize::from(i); |
821 | 0 | if bytes[idx] + 1 != bytes[idx + 1] { |
822 | 0 | return None; |
823 | 0 | } |
824 | | } |
825 | | |
826 | | // All of the `bytes` are in-order, meaning that this is a valid shuffle |
827 | | // immediate to specify a lane of `size` bytes. The index, when viewed as |
828 | | // `size`-byte immediates, will be the first byte divided by the byte size. |
829 | 0 | Some(bytes[0] / size) |
830 | 0 | } Unexecuted instantiation: cranelift_codegen::machinst::isle::shuffle_imm_as_le_lane_idx Unexecuted instantiation: cranelift_codegen::machinst::isle::shuffle_imm_as_le_lane_idx |
831 | | |
832 | | /// This structure is used to implement the ISLE-generated `Context` trait and |
833 | | /// internally has a temporary reference to a machinst `LowerCtx`. |
834 | | pub(crate) struct IsleContext<'a, 'b, I, B> |
835 | | where |
836 | | I: VCodeInst, |
837 | | B: LowerBackend, |
838 | | { |
839 | | pub lower_ctx: &'a mut Lower<'b, I>, |
840 | | pub backend: &'a B, |
841 | | } |
842 | | |
843 | | impl<I, B> IsleContext<'_, '_, I, B> |
844 | | where |
845 | | I: VCodeInst, |
846 | | B: LowerBackend, |
847 | | { |
848 | 14.6M | pub(crate) fn dfg(&self) -> &crate::ir::DataFlowGraph { |
849 | 14.6M | &self.lower_ctx.f.dfg |
850 | 14.6M | } Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend>>::dfg Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend>>::dfg <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::x64::lower::isle::generated_code::MInst, cranelift_codegen::isa::x64::X64Backend>>::dfg Line | Count | Source | 848 | 14.6M | pub(crate) fn dfg(&self) -> &crate::ir::DataFlowGraph { | 849 | 14.6M | &self.lower_ctx.f.dfg | 850 | 14.6M | } |
Unexecuted instantiation: <cranelift_codegen::machinst::isle::IsleContext<cranelift_codegen::isa::aarch64::lower::isle::generated_code::MInst, cranelift_codegen::isa::aarch64::AArch64Backend>>::dfg |
851 | | } |