Add a compilation context struct.

This will provide main entry points for compiling functions, and it
serves as a place for keeping data structures that should be preserved
between function compilations to reduce allocator thrashing.

So far, Context is just basic scaffolding. More to be added.
This commit is contained in:
Jakob Stoklund Olesen
2017-02-17 11:57:32 -08:00
parent e60d7f179c
commit 1992890f85
2 changed files with 36 additions and 11 deletions

View File

@@ -2,28 +2,30 @@
#![deny(missing_docs)]
pub use context::Context;
pub use legalizer::legalize_function;
pub use verifier::verify_function;
pub use write::write_function;
pub use legalizer::legalize_function;
/// Version number of the cretonne crate.
pub const VERSION: &'static str = env!("CARGO_PKG_VERSION");
pub mod ir;
pub mod isa;
pub mod cfg;
pub mod dominator_tree;
pub mod entity_map;
pub mod entity_list;
pub mod sparse_map;
pub mod settings;
pub mod verifier;
pub mod entity_map;
pub mod ir;
pub mod isa;
pub mod regalloc;
pub mod settings;
pub mod sparse_map;
pub mod verifier;
mod write;
mod constant_hash;
mod predicates;
mod context;
mod legalizer;
mod ref_slice;
mod partition_slice;
mod packed_option;
mod partition_slice;
mod predicates;
mod ref_slice;
mod write;