Path: blob/main/cranelift/codegen/src/isa/riscv64/lower.rs
1693 views
//! Lowering rules for Riscv64.1use crate::ir::Inst as IRInst;2use crate::isa::riscv64::Riscv64Backend;3use crate::isa::riscv64::inst::*;4use crate::machinst::lower::*;5use crate::machinst::*;6pub mod isle;78//=============================================================================9// Lowering-backend trait implementation.1011impl LowerBackend for Riscv64Backend {12type MInst = Inst;1314fn lower(&self, ctx: &mut Lower<Inst>, ir_inst: IRInst) -> Option<InstOutput> {15isle::lower(ctx, self, ir_inst)16}1718fn lower_branch(19&self,20ctx: &mut Lower<Inst>,21ir_inst: IRInst,22targets: &[MachLabel],23) -> Option<()> {24isle::lower_branch(ctx, self, ir_inst, targets)25}2627fn maybe_pinned_reg(&self) -> Option<Reg> {28// pinned register is a register that you want put anything in it.29// right now riscv64 not support this feature.30None31}3233type FactFlowState = ();34}353637