Also, say "guard-offset pages" rather than just "guard pages" to describe the region of a heap which is never accessible and which exists to support optimizations for heap accesses with offsets. And, introduce a `Uimm64` immediate type, and make all heap fields use `Uimm64` instead of `Imm64` since they really are unsigned.
50 lines
1.6 KiB
Rust
50 lines
1.6 KiB
Rust
//! Cranelift umbrella crate, providing a convenient one-line dependency.
|
|
|
|
#![deny(
|
|
missing_docs,
|
|
trivial_numeric_casts,
|
|
unused_extern_crates,
|
|
unstable_features
|
|
)]
|
|
#![warn(unused_import_braces)]
|
|
#![cfg_attr(feature = "clippy", plugin(clippy(conf_file = "../../clippy.toml")))]
|
|
#![cfg_attr(
|
|
feature = "cargo-clippy",
|
|
allow(new_without_default, new_without_default_derive)
|
|
)]
|
|
#![cfg_attr(
|
|
feature = "cargo-clippy",
|
|
warn(
|
|
clippy::float_arithmetic,
|
|
clippy::mut_mut,
|
|
clippy::nonminimal_bool,
|
|
clippy::option_map_unwrap_or,
|
|
clippy::option_map_unwrap_or_else,
|
|
clippy::print_stdout,
|
|
clippy::unicode_not_nfc,
|
|
clippy::use_self
|
|
)
|
|
)]
|
|
|
|
/// Provide these crates, renamed to reduce stutter.
|
|
pub extern crate cranelift_codegen as codegen;
|
|
pub extern crate cranelift_frontend as frontend;
|
|
|
|
/// A prelude providing convenient access to commonly-used cranelift features. Use
|
|
/// as `use cranelift::prelude::*`.
|
|
pub mod prelude {
|
|
pub use codegen;
|
|
pub use codegen::entity::EntityRef;
|
|
pub use codegen::ir::condcodes::{FloatCC, IntCC};
|
|
pub use codegen::ir::immediates::{Ieee32, Ieee64, Imm64, Uimm64};
|
|
pub use codegen::ir::types;
|
|
pub use codegen::ir::{
|
|
AbiParam, Ebb, ExtFuncData, ExternalName, GlobalValueData, InstBuilder, JumpTableData,
|
|
MemFlags, Signature, StackSlotData, StackSlotKind, TrapCode, Type, Value,
|
|
};
|
|
pub use codegen::isa;
|
|
pub use codegen::settings::{self, Configurable};
|
|
|
|
pub use frontend::{FunctionBuilder, FunctionBuilderContext, Variable};
|
|
}
|