Files
wasmtime/cranelift/isle/src/lower.rs
2021-11-11 15:56:54 -08:00

34 lines
687 B
Rust

use crate::ir::*;
use crate::sema;
struct LowerState<'a> {
tyenv: &'a sema::TypeEnv,
func: &'a sema::Func,
builder: FuncBuilder,
control_flow: ControlInput,
}
pub fn lower(tyenv: &sema::TypeEnv, func: &sema::Func) -> Func {
let mut builder = FuncBuilder::default();
let entry = builder.intern(Node::Entry);
let mut state = LowerState {
tyenv,
func,
builder,
control_flow: ControlInput(entry, 0),
};
if !func.is_extern && !func.is_inline {
for case in &func.cases {
state.lower_case(case);
}
}
state.builder.build()
}
impl<'a> LowerState<'a> {
fn lower_case(&mut self) {}
}