Remove FunctionBuilderContext from API, and change FunctionBuilder API
This commit is contained in:
@@ -16,12 +16,11 @@ type EntryIndex = u64;
|
||||
/// # use cranelift_codegen::ir::types::*;
|
||||
/// # use cranelift_codegen::ir::{ExternalName, Function, Signature, InstBuilder};
|
||||
/// # use cranelift_codegen::isa::CallConv;
|
||||
/// # use cranelift_frontend::{FunctionBuilder, FunctionBuilderContext, Switch};
|
||||
/// # use cranelift_frontend::{FunctionBuilder, Switch};
|
||||
/// #
|
||||
/// # let mut sig = Signature::new(CallConv::SystemV);
|
||||
/// # let mut fn_builder_ctx = FunctionBuilderContext::new();
|
||||
/// # let mut func = Function::with_name_signature(ExternalName::user(0, 0), sig);
|
||||
/// # let mut builder = FunctionBuilder::new(&mut func, &mut fn_builder_ctx);
|
||||
/// # let mut builder = FunctionBuilder::new(func);
|
||||
/// #
|
||||
/// # let entry = builder.create_ebb();
|
||||
/// # builder.switch_to_block(entry);
|
||||
@@ -289,16 +288,13 @@ impl ContiguousCaseRange {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
use crate::frontend::FunctionBuilderContext;
|
||||
use cranelift_codegen::ir::Function;
|
||||
use std::string::ToString;
|
||||
|
||||
macro_rules! setup {
|
||||
($default:expr, [$($index:expr,)*]) => {{
|
||||
let mut func = Function::new();
|
||||
let mut func_ctx = FunctionBuilderContext::new();
|
||||
{
|
||||
let mut bx = FunctionBuilder::new(&mut func, &mut func_ctx);
|
||||
let func = {
|
||||
let mut bx = FunctionBuilder::new(Function::new());
|
||||
let ebb = bx.create_ebb();
|
||||
bx.switch_to_block(ebb);
|
||||
let val = bx.ins().iconst(types::I8, 0);
|
||||
@@ -308,7 +304,9 @@ mod tests {
|
||||
switch.set_entry($index, ebb);
|
||||
)*
|
||||
switch.emit(&mut bx, val, Ebb::with_number($default).unwrap());
|
||||
}
|
||||
bx.seal_all_blocks();
|
||||
bx.finalize()
|
||||
};
|
||||
func
|
||||
.to_string()
|
||||
.trim_start_matches("function u0:0() fast {\n")
|
||||
|
||||
Reference in New Issue
Block a user