cranelift_codegen/isa/s390x/
lower.rs

1//! Lowering rules for S390x.
2
3use crate::ir::Inst as IRInst;
4use crate::isa::s390x::inst::Inst;
5use crate::isa::s390x::S390xBackend;
6use crate::machinst::{InstOutput, Lower, LowerBackend, MachLabel};
7
8pub mod isle;
9
10//=============================================================================
11// Lowering-backend trait implementation.
12
13impl LowerBackend for S390xBackend {
14    type MInst = Inst;
15
16    fn lower(&self, ctx: &mut Lower<Inst>, ir_inst: IRInst) -> Option<InstOutput> {
17        isle::lower(ctx, self, ir_inst)
18    }
19
20    fn lower_branch(
21        &self,
22        ctx: &mut Lower<Inst>,
23        ir_inst: IRInst,
24        targets: &[MachLabel],
25    ) -> Option<()> {
26        isle::lower_branch(ctx, self, ir_inst, targets)
27    }
28
29    type FactFlowState = ();
30}