Rename the 'cretonne' crate to 'cretonne-codegen'.

This fixes the next part of #287.
This commit is contained in:
Dan Gohman
2018-04-17 08:48:02 -07:00
parent 7767186dd0
commit 24fa169e1f
254 changed files with 265 additions and 264 deletions

View File

@@ -2,7 +2,7 @@
name = "cretonne-tools" name = "cretonne-tools"
authors = ["The Cretonne Project Developers"] authors = ["The Cretonne Project Developers"]
version = "0.4.4" version = "0.4.4"
description = "Binaries for testing the Cretonne library" description = "Binaries for testing the Cretonne libraries"
license = "Apache-2.0" license = "Apache-2.0"
documentation = "https://cretonne.readthedocs.io/" documentation = "https://cretonne.readthedocs.io/"
repository = "https://github.com/Cretonne/cretonne" repository = "https://github.com/Cretonne/cretonne"
@@ -13,7 +13,7 @@ name = "cton-util"
path = "src/cton-util.rs" path = "src/cton-util.rs"
[dependencies] [dependencies]
cretonne = { path = "lib/cretonne", version = "0.4.4" } cretonne-codegen = { path = "lib/codegen", version = "0.4.4" }
cretonne-reader = { path = "lib/reader", version = "0.4.4" } cretonne-reader = { path = "lib/reader", version = "0.4.4" }
cretonne-frontend = { path = "lib/frontend", version = "0.4.4" } cretonne-frontend = { path = "lib/frontend", version = "0.4.4" }
cretonne-wasm = { path = "lib/wasm", version = "0.4.4" } cretonne-wasm = { path = "lib/wasm", version = "0.4.4" }
@@ -30,7 +30,7 @@ term = "0.5.1"
# Enable debug assertions and parallel compilation when building cretonne-tools # Enable debug assertions and parallel compilation when building cretonne-tools
# since they are for testing and development mostly. This doesn't affect the # since they are for testing and development mostly. This doesn't affect the
# flags used to build the Cretonne crate when used as a dependency. # flags used to build the cretonne-* crates when used as a dependency.
[profile.release] [profile.release]
opt-level = 2 opt-level = 2
debug-assertions = true debug-assertions = true

View File

@@ -14,7 +14,7 @@ help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
autohtml: html autohtml: html
$(SPHINXABUILD) -z ../lib/cretonne/meta --ignore '.*' -b html -E $(ALLSPHINXOPTS) $(BUILDDIR)/html $(SPHINXABUILD) -z ../lib/codegen/meta --ignore '.*' -b html -E $(ALLSPHINXOPTS) $(BUILDDIR)/html
.PHONY: help Makefile .PHONY: help Makefile

View File

@@ -23,7 +23,7 @@ sys.path.insert(0, os.path.abspath('.'))
# Also add the meta directory to sys.path so autodoc can find the Cretonne meta # Also add the meta directory to sys.path so autodoc can find the Cretonne meta
# language definitions. # language definitions.
sys.path.insert(0, os.path.abspath('../lib/cretonne/meta')) sys.path.insert(0, os.path.abspath('../lib/codegen/meta'))
# -- General configuration ------------------------------------------------ # -- General configuration ------------------------------------------------

View File

@@ -11,7 +11,7 @@ domain specific language embedded in Python. This document describes the Python
modules that form the embedded DSL. modules that form the embedded DSL.
The meta language descriptions are Python modules under the The meta language descriptions are Python modules under the
:file:`lib/cretonne/meta` directory. The descriptions are processed in two :file:`lib/codegen/meta` directory. The descriptions are processed in two
steps: steps:
1. The Python modules are imported. This has the effect of building static data 1. The Python modules are imported. This has the effect of building static data
@@ -23,8 +23,8 @@ steps:
constant tables. constant tables.
The main driver for this source code generation process is the The main driver for this source code generation process is the
:file:`lib/cretonne/meta/build.py` script which is invoked as part of the build :file:`lib/codegen/meta/build.py` script which is invoked as part of the build
process if anything in the :file:`lib/cretonne/meta` directory has changed process if anything in the :file:`lib/codegen/meta` directory has changed
since the last build. since the last build.
@@ -38,7 +38,7 @@ of code generation. Each setting is defined in the meta language so a compact
and consistent Rust representation can be generated. Shared settings are defined and consistent Rust representation can be generated. Shared settings are defined
in the :mod:`base.settings` module. Some settings are specific to a target ISA, in the :mod:`base.settings` module. Some settings are specific to a target ISA,
and defined in a :file:`settings.py` module under the appropriate and defined in a :file:`settings.py` module under the appropriate
:file:`lib/cretonne/meta/isa/*` directory. :file:`lib/codegen/meta/isa/*` directory.
Settings can take boolean on/off values, small numbers, or explicitly enumerated Settings can take boolean on/off values, small numbers, or explicitly enumerated
symbolic values. Each type is represented by a sub-class of :class:`Setting`: symbolic values. Each type is represented by a sub-class of :class:`Setting`:
@@ -433,7 +433,7 @@ architectures. Each ISA is represented by a :py:class:`cdsl.isa.TargetISA` insta
.. autoclass:: TargetISA .. autoclass:: TargetISA
The definitions for each supported target live in a package under The definitions for each supported target live in a package under
:file:`lib/cretonne/meta/isa`. :file:`lib/codegen/meta/isa`.
.. automodule:: isa .. automodule:: isa
:members: :members:

View File

@@ -51,7 +51,7 @@ tested::
//! //!
//! # Example //! # Example
//! ``` //! ```
//! use cretonne::settings::{self, Configurable}; //! use cretonne_codegen::settings::{self, Configurable};
//! //!
//! let mut b = settings::builder(); //! let mut b = settings::builder();
//! b.set("opt_level", "fastest"); //! b.set("opt_level", "fastest");
@@ -73,9 +73,9 @@ test.
These tests are usually found in the :file:`tests` top-level directory where These tests are usually found in the :file:`tests` top-level directory where
they have access to all the crates in the Cretonne repository. The they have access to all the crates in the Cretonne repository. The
:file:`lib/cretonne` and :file:`lib/reader` crates have no external :file:`lib/codegen` and :file:`lib/reader` crates have no external
dependencies, which can make testing tedious. Integration tests that don't need dependencies, which can make testing tedious. Integration tests that don't need
to depend on other crates can be placed in :file:`lib/cretonne/tests` and to depend on other crates can be placed in :file:`lib/codegen/tests` and
:file:`lib/reader/tests`. :file:`lib/reader/tests`.
File tests File tests
@@ -109,7 +109,7 @@ header:
isa_spec : "isa" isa_name { `option` } "\n" isa_spec : "isa" isa_name { `option` } "\n"
The options given on the ``isa`` line modify the ISA-specific settings defined in The options given on the ``isa`` line modify the ISA-specific settings defined in
:file:`lib/cretonne/meta/isa/*/settings.py`. :file:`lib/codegen/meta/isa/*/settings.py`.
All types of tests allow shared Cretonne settings to be modified: All types of tests allow shared Cretonne settings to be modified:
@@ -119,7 +119,7 @@ All types of tests allow shared Cretonne settings to be modified:
option : flag | setting "=" value option : flag | setting "=" value
The shared settings available for all target ISAs are defined in The shared settings available for all target ISAs are defined in
:file:`lib/cretonne/meta/base/settings.py`. :file:`lib/codegen/meta/base/settings.py`.
The ``set`` lines apply settings cumulatively:: The ``set`` lines apply settings cumulatively::

View File

@@ -6,7 +6,7 @@ isa x86
; ;
; The spiller panics with a ; The spiller panics with a
; 'Ran out of GPR registers when inserting copy before v68 = icmp.i32 eq v66, v67', ; 'Ran out of GPR registers when inserting copy before v68 = icmp.i32 eq v66, v67',
; lib/cretonne/src/regalloc/spilling.rs:425:28 message. ; lib/codegen/src/regalloc/spilling.rs:425:28 message.
; ;
; The process_reg_uses() function is trying to insert a copy before the icmp instruction in ebb4 ; The process_reg_uses() function is trying to insert a copy before the icmp instruction in ebb4
; and runs out of registers to spill. Note that ebb7 has a lot of dead parameter values. ; and runs out of registers to spill. Note that ebb7 has a lot of dead parameter values.

View File

@@ -27,7 +27,7 @@ cargo update
echo git commit -a -m "\"Bump version to $version"\" echo git commit -a -m "\"Bump version to $version"\"
echo git push echo git push
for crate in entity cretonne frontend native reader wasm ; do for crate in entity codegen frontend native reader wasm ; do
echo cargo publish --manifest-path "lib/$crate/Cargo.toml" echo cargo publish --manifest-path "lib/$crate/Cargo.toml"
done done
echo echo

View File

@@ -1,9 +1,9 @@
//! CLI tool to read Cretonne IR files and compile them into native code. //! CLI tool to read Cretonne IR files and compile them into native code.
use cretonne::Context; use cretonne_codegen::Context;
use cretonne::print_errors::pretty_error; use cretonne_codegen::print_errors::pretty_error;
use cretonne::settings::FlagsOrIsa; use cretonne_codegen::settings::FlagsOrIsa;
use cretonne::{binemit, ir}; use cretonne_codegen::{binemit, ir};
use cretonne_reader::parse_test; use cretonne_reader::parse_test;
use std::path::Path; use std::path::Path;
use std::path::PathBuf; use std::path::PathBuf;

View File

@@ -1,4 +1,4 @@
extern crate cretonne; extern crate cretonne_codegen;
extern crate cretonne_filetests; extern crate cretonne_filetests;
extern crate cretonne_reader; extern crate cretonne_reader;
extern crate cretonne_wasm; extern crate cretonne_wasm;
@@ -9,7 +9,7 @@ extern crate serde_derive;
extern crate tempdir; extern crate tempdir;
extern crate term; extern crate term;
use cretonne::{timing, VERSION}; use cretonne_codegen::{timing, VERSION};
use docopt::Docopt; use docopt::Docopt;
use std::io::{self, Write}; use std::io::{self, Write};
use std::process; use std::process;

View File

@@ -4,7 +4,7 @@
//! in graphviz format. //! in graphviz format.
use CommandResult; use CommandResult;
use cretonne::cfg_printer::CFGPrinter; use cretonne_codegen::cfg_printer::CFGPrinter;
use cretonne_reader::parse_functions; use cretonne_reader::parse_functions;
use utils::read_to_string; use utils::read_to_string;

View File

@@ -1,8 +1,8 @@
//! Utility functions. //! Utility functions.
use cretonne::isa; use cretonne_codegen::isa;
use cretonne::isa::TargetIsa; use cretonne_codegen::isa::TargetIsa;
use cretonne::settings::{self, FlagsOrIsa}; use cretonne_codegen::settings::{self, FlagsOrIsa};
use cretonne_reader::{parse_options, Location}; use cretonne_reader::{parse_options, Location};
use std::fs::File; use std::fs::File;
use std::io::{self, Read}; use std::io::{self, Read};

View File

@@ -4,9 +4,9 @@
//! Reads Wasm binary files, translates the functions' code to Cretonne IR. //! Reads Wasm binary files, translates the functions' code to Cretonne IR.
#![cfg_attr(feature = "cargo-clippy", allow(too_many_arguments, cyclomatic_complexity))] #![cfg_attr(feature = "cargo-clippy", allow(too_many_arguments, cyclomatic_complexity))]
use cretonne::Context; use cretonne_codegen::Context;
use cretonne::print_errors::{pretty_error, pretty_verifier_error}; use cretonne_codegen::print_errors::{pretty_error, pretty_verifier_error};
use cretonne::settings::FlagsOrIsa; use cretonne_codegen::settings::FlagsOrIsa;
use cretonne_wasm::{translate_module, DummyEnvironment, ModuleEnvironment}; use cretonne_wasm::{translate_module, DummyEnvironment, ModuleEnvironment};
use std::error::Error; use std::error::Error;
use std::fs::File; use std::fs::File;

View File

@@ -31,13 +31,13 @@ fi
# Check if any Python files have changed since we last checked them. # Check if any Python files have changed since we last checked them.
tsfile=$topdir/target/meta-checked tsfile=$topdir/target/meta-checked
if [ -f $tsfile ]; then if [ -f $tsfile ]; then
needcheck=$(find $topdir/lib/cretonne/meta -name '*.py' -newer $tsfile) needcheck=$(find $topdir/lib/codegen/meta -name '*.py' -newer $tsfile)
else else
needcheck=yes needcheck=yes
fi fi
if [ -n "$needcheck" ]; then if [ -n "$needcheck" ]; then
banner "$(python --version 2>&1), $(python3 --version 2>&1)" banner "$(python --version 2>&1), $(python3 --version 2>&1)"
$topdir/lib/cretonne/meta/check.sh $topdir/lib/codegen/meta/check.sh
touch $tsfile || echo no target directory touch $tsfile || echo no target directory
fi fi

View File

@@ -1,6 +1,6 @@
[package] [package]
authors = ["The Cretonne Project Developers"] authors = ["The Cretonne Project Developers"]
name = "cretonne" name = "cretonne-codegen"
version = "0.4.4" version = "0.4.4"
description = "Low-level code generator library" description = "Low-level code generator library"
license = "Apache-2.0" license = "Apache-2.0"
@@ -12,7 +12,7 @@ build = "build.rs"
[dependencies] [dependencies]
cretonne-entity = { path = "../entity", version = "0.4.4" } cretonne-entity = { path = "../entity", version = "0.4.4" }
# It is a goal of the cretonne crate to have minimal external dependencies. # It is a goal of the cretonne-codegen crate to have minimal external dependencies.
# Please don't add any unless they are essential to the task of creating binary # Please don't add any unless they are essential to the task of creating binary
# machine code. Integration tests that need external dependencies can be # machine code. Integration tests that need external dependencies can be
# accomodated in `tests`. # accomodated in `tests`.

View File

@@ -1,7 +1,7 @@
// Build script. // Build script.
// //
// This program is run by Cargo when building lib/cretonne. It is used to generate Rust code from // This program is run by Cargo when building lib/codegen. It is used to generate Rust code from
// the language definitions in the lib/cretonne/meta directory. // the language definitions in the lib/codegen/meta directory.
// //
// Environment: // Environment:
// //

View File

@@ -1,6 +1,6 @@
# Second-level build script. # Second-level build script.
# #
# This script is run from lib/cretonne/build.rs to generate Rust files. # This script is run from lib/codegen/build.rs to generate Rust files.
from __future__ import absolute_import from __future__ import absolute_import
import argparse import argparse

View File

@@ -1,7 +1,7 @@
""" """
Generate build dependencies for Cargo. Generate build dependencies for Cargo.
The `build.py` script is invoked by cargo when building lib/cretonne to The `build.py` script is invoked by cargo when building lib/codegen to
generate Rust code from the instruction descriptions. Cargo needs to know when generate Rust code from the instruction descriptions. Cargo needs to know when
it is necessary to rerun the build script. it is necessary to rerun the build script.

View File

@@ -2,7 +2,7 @@
Generate sources with type info. Generate sources with type info.
This generates a `types.rs` file which is included in This generates a `types.rs` file which is included in
`lib/cretonne/ir/types.rs`. The file provides constant definitions for the most `lib/codegen/ir/types.rs`. The file provides constant definitions for the most
commonly used types, including all of the scalar types. commonly used types, including all of the scalar types.
This ensures that Python and Rust use the same type numbering. This ensures that Python and Rust use the same type numbering.

Some files were not shown because too many files have changed in this diff Show More