Fix remaining clippy warnings (#1340)
* clippy: allow complex encoding function * clippy: remove unnecessary main() function in doctest * clippy: remove redundant `Type` suffix on LaneType enum variants * clippy: ignore incorrect debug_assert_with_mut_call warning * clippy: fix FDE clippy warnings
This commit is contained in:
committed by
Yury Delendik
parent
435fc71d68
commit
e1d513ab4b
@@ -75,92 +75,90 @@
|
||||
//! use cranelift_codegen::verifier::verify_function;
|
||||
//! use cranelift_frontend::{FunctionBuilder, FunctionBuilderContext, Variable};
|
||||
//!
|
||||
//! fn main() {
|
||||
//! let mut sig = Signature::new(CallConv::SystemV);
|
||||
//! sig.returns.push(AbiParam::new(I32));
|
||||
//! sig.params.push(AbiParam::new(I32));
|
||||
//! let mut fn_builder_ctx = FunctionBuilderContext::new();
|
||||
//! let mut func = Function::with_name_signature(ExternalName::user(0, 0), sig);
|
||||
//! let mut sig = Signature::new(CallConv::SystemV);
|
||||
//! sig.returns.push(AbiParam::new(I32));
|
||||
//! sig.params.push(AbiParam::new(I32));
|
||||
//! 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 block0 = builder.create_ebb();
|
||||
//! let block1 = builder.create_ebb();
|
||||
//! let block2 = builder.create_ebb();
|
||||
//! let block3 = builder.create_ebb();
|
||||
//! let x = Variable::new(0);
|
||||
//! let y = Variable::new(1);
|
||||
//! let z = Variable::new(2);
|
||||
//! builder.declare_var(x, I32);
|
||||
//! builder.declare_var(y, I32);
|
||||
//! builder.declare_var(z, I32);
|
||||
//! builder.append_ebb_params_for_function_params(block0);
|
||||
//!
|
||||
//! builder.switch_to_block(block0);
|
||||
//! builder.seal_block(block0);
|
||||
//! {
|
||||
//! let mut builder = FunctionBuilder::new(&mut func, &mut fn_builder_ctx);
|
||||
//! let tmp = builder.ebb_params(block0)[0]; // the first function parameter
|
||||
//! builder.def_var(x, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let tmp = builder.ins().iconst(I32, 2);
|
||||
//! builder.def_var(y, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(x);
|
||||
//! let arg2 = builder.use_var(y);
|
||||
//! let tmp = builder.ins().iadd(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! builder.ins().jump(block1, &[]);
|
||||
//!
|
||||
//! let block0 = builder.create_ebb();
|
||||
//! let block1 = builder.create_ebb();
|
||||
//! let block2 = builder.create_ebb();
|
||||
//! let block3 = builder.create_ebb();
|
||||
//! let x = Variable::new(0);
|
||||
//! let y = Variable::new(1);
|
||||
//! let z = Variable::new(2);
|
||||
//! builder.declare_var(x, I32);
|
||||
//! builder.declare_var(y, I32);
|
||||
//! builder.declare_var(z, I32);
|
||||
//! builder.append_ebb_params_for_function_params(block0);
|
||||
//! builder.switch_to_block(block1);
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(y);
|
||||
//! let arg2 = builder.use_var(z);
|
||||
//! let tmp = builder.ins().iadd(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg = builder.use_var(y);
|
||||
//! builder.ins().brnz(arg, block3, &[]);
|
||||
//! }
|
||||
//! builder.ins().jump(block2, &[]);
|
||||
//!
|
||||
//! builder.switch_to_block(block0);
|
||||
//! builder.seal_block(block0);
|
||||
//! {
|
||||
//! let tmp = builder.ebb_params(block0)[0]; // the first function parameter
|
||||
//! builder.def_var(x, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let tmp = builder.ins().iconst(I32, 2);
|
||||
//! builder.def_var(y, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(x);
|
||||
//! let arg2 = builder.use_var(y);
|
||||
//! let tmp = builder.ins().iadd(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! builder.ins().jump(block1, &[]);
|
||||
//!
|
||||
//! builder.switch_to_block(block1);
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(y);
|
||||
//! let arg2 = builder.use_var(z);
|
||||
//! let tmp = builder.ins().iadd(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg = builder.use_var(y);
|
||||
//! builder.ins().brnz(arg, block3, &[]);
|
||||
//! }
|
||||
//! builder.ins().jump(block2, &[]);
|
||||
//!
|
||||
//! builder.switch_to_block(block2);
|
||||
//! builder.seal_block(block2);
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(z);
|
||||
//! let arg2 = builder.use_var(x);
|
||||
//! let tmp = builder.ins().isub(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg = builder.use_var(y);
|
||||
//! builder.ins().return_(&[arg]);
|
||||
//! }
|
||||
//!
|
||||
//! builder.switch_to_block(block3);
|
||||
//! builder.seal_block(block3);
|
||||
//!
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(y);
|
||||
//! let arg2 = builder.use_var(x);
|
||||
//! let tmp = builder.ins().isub(arg1, arg2);
|
||||
//! builder.def_var(y, tmp);
|
||||
//! }
|
||||
//! builder.ins().jump(block1, &[]);
|
||||
//! builder.seal_block(block1);
|
||||
//!
|
||||
//! builder.finalize();
|
||||
//! builder.switch_to_block(block2);
|
||||
//! builder.seal_block(block2);
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(z);
|
||||
//! let arg2 = builder.use_var(x);
|
||||
//! let tmp = builder.ins().isub(arg1, arg2);
|
||||
//! builder.def_var(z, tmp);
|
||||
//! }
|
||||
//! {
|
||||
//! let arg = builder.use_var(y);
|
||||
//! builder.ins().return_(&[arg]);
|
||||
//! }
|
||||
//!
|
||||
//! let flags = settings::Flags::new(settings::builder());
|
||||
//! let res = verify_function(&func, &flags);
|
||||
//! println!("{}", func.display(None));
|
||||
//! if let Err(errors) = res {
|
||||
//! panic!("{}", errors);
|
||||
//! builder.switch_to_block(block3);
|
||||
//! builder.seal_block(block3);
|
||||
//!
|
||||
//! {
|
||||
//! let arg1 = builder.use_var(y);
|
||||
//! let arg2 = builder.use_var(x);
|
||||
//! let tmp = builder.ins().isub(arg1, arg2);
|
||||
//! builder.def_var(y, tmp);
|
||||
//! }
|
||||
//! builder.ins().jump(block1, &[]);
|
||||
//! builder.seal_block(block1);
|
||||
//!
|
||||
//! builder.finalize();
|
||||
//! }
|
||||
//!
|
||||
//! let flags = settings::Flags::new(settings::builder());
|
||||
//! let res = verify_function(&func, &flags);
|
||||
//! println!("{}", func.display(None));
|
||||
//! if let Err(errors) = res {
|
||||
//! panic!("{}", errors);
|
||||
//! }
|
||||
//! ```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user