//! Lowering rules for S390x. use crate::ir::Inst as IRInst; use crate::isa::s390x::inst::Inst; use crate::isa::s390x::S390xBackend; use crate::machinst::{InstOutput, Lower, LowerBackend, MachLabel}; pub mod isle; //============================================================================= // Lowering-backend trait implementation. impl LowerBackend for S390xBackend { type MInst = Inst; fn lower(&self, ctx: &mut Lower, ir_inst: IRInst) -> Option { isle::lower(ctx, self, ir_inst) } fn lower_branch( &self, ctx: &mut Lower, ir_inst: IRInst, targets: &[MachLabel], ) -> Option<()> { isle::lower_branch(ctx, self, ir_inst, targets) } type FactFlowState = (); }