Dan Gohman
6fcbb20e10
Bump version to 0.3.0
2018-02-28 10:31:00 -08:00
Dan Gohman
ab9298eafa
Make the fst recipe use the deref-safe register class as well.
2018-02-28 10:12:40 -08:00
Dan Gohman
9010e576dd
Simply instruction result value handling in the parser.
...
Also, move the handling earlier so that they're checked before the rest
of the instruction is checked.
2018-02-28 10:10:42 -08:00
Dan Gohman
d71756f298
Delete an extraneous file.
2018-02-28 03:43:55 -08:00
Dan Gohman
60c6154b94
Add some crate keywords.
2018-02-28 03:38:48 -08:00
Dan Gohman
7dda61543f
Add more release instructions.
2018-02-27 17:01:02 -08:00
Dan Gohman
dabfc55c6e
Bump version to 0.2.0
2018-02-27 15:58:25 -08:00
Dan Gohman
2addcfd642
Make publish-all.sh print the git commit line too, for convenience.
2018-02-27 15:54:29 -08:00
Dan Gohman
42a0c2e44b
Enable backup files when setting version numbers with sed.
2018-02-27 15:44:36 -08:00
Dan Gohman
111c97df6d
Quote shell variables in more places.
2018-02-27 15:43:13 -08:00
Dan Gohman
d394ae0902
Enable "set -euo pipefail" in all bash scripts.
...
This enables "set -e", "set -u", and "set -o pipefail", which
catch common errors.
2018-02-27 15:32:21 -08:00
Dan Gohman
6a962e8b2c
Add links to the docs.rs API documentation.
2018-02-27 15:26:06 -08:00
Dan Gohman
5ffdc51742
Fix formatting of no_std instructions in README.rst.
2018-02-27 12:59:44 -08:00
Dan Gohman
af154655d7
Replace as casts with type-conversion functions.
...
https://github.com/rust-lang-nursery/rust-clippy/wiki#cast_lossless
2018-02-26 15:25:46 -08:00
Dan Gohman
e943d932b9
Change match self to match *self to avoid adding & to all patterns in a match.
...
https://rust-lang-nursery.github.io/rust-clippy/v0.0.186/index.html#match_ref_pats
2018-02-26 15:25:39 -08:00
Dan Gohman
234d097f65
Change println!("") to println!().
...
https://rust-lang-nursery.github.io/rust-clippy/v0.0.186/index.html#print_with_newline
2018-02-26 15:25:37 -08:00
Dan Gohman
0e22c74085
Track wasm reachability explicitly.
...
Maintain an explicit "reachable" flag when decoding wasm. Push placeholder
frames on the control-flow stack instead of just maintaining a count of
the stack depth in unreachable code, so that we can whether If blocks
have Elses, and whether block exits are branched to, in all contexts.
Fixes #217 .
2018-02-26 15:24:33 -08:00
Dan Gohman
81c126619b
Ignore unknown custom wasm sections.
2018-02-26 15:24:25 -08:00
Dan Gohman
6c9cf2bacf
Switch from error_core to failure.
2018-02-23 21:49:59 -08:00
Dan Gohman
e37f45667f
Add an explicit std feature so that features are purely additive.
2018-02-23 21:49:55 -08:00
Dan Gohman
61db54c447
Add support for running tests in no_std mode.
2018-02-23 21:35:22 -08:00
Lachlan Sneff
023f8d7980
Fixed missing vec
2018-02-23 20:57:26 -08:00
Lachlan Sneff
d8c8e4af3d
2 is after 1
2018-02-23 20:57:26 -08:00
Lachlan Sneff
48229f02e3
Fixed typo in README.rst
2018-02-23 20:57:26 -08:00
Lachlan Sneff
4cdbf2f56e
Removed unused prelude
2018-02-23 20:57:26 -08:00
Lachlan Sneff
ddfa88c8ba
Removed extraneous newlines
2018-02-23 20:57:26 -08:00
Lachlan Sneff
5590abcfd9
Expanded on no_std in README.rst
2018-02-23 20:56:30 -08:00
Lachlan Sneff
6bd6a80b78
Updated top-level README.rst
2018-02-23 20:56:30 -08:00
Lachlan Sneff
2462a065ad
Fixed formatting issues
2018-02-23 20:56:30 -08:00
Lachlan Sneff
5c85c1ba4a
Fixed formatting issues
2018-02-23 20:56:30 -08:00
Lachlan Sneff
66a150e67a
lib/wasm works with no_std
2018-02-23 20:56:30 -08:00
Lachlan Sneff
299e8a9737
lib/cretonne works with no_std
2018-02-23 20:56:30 -08:00
Lachlan Sneff
7375088c3e
Most of the way to no_std support
2018-02-23 20:56:30 -08:00
Dan Gohman
2a26b70854
Update URLs.
2018-02-23 16:16:44 -08:00
Jakob Stoklund Olesen
ec746c3359
Add a publish-all.sh script.
...
Set identical version numbers on all cretonne-* crates and print "cargo
publish" commands.
Update all crates to version 0.1.0.
2018-02-23 12:51:14 -08:00
Benjamin Bouvier
f02c8fd1ff
Fixes #244 : Prints the generated code size and wasm bytecode size in wasm command;
2018-02-23 08:46:09 -08:00
Dan Gohman
c7655c4928
Add minimal README.md files to published crates.
...
This will put descriptions on the packages' crates.io pages.
2018-02-21 20:50:03 -08:00
Dan Gohman
8e6e976e68
Add .swx to .gitignore to hide vim files from cargo watch.
2018-02-21 19:04:35 -08:00
Dan Gohman
c3c31e5cdc
Add an empty .rustfmt.toml.
...
The existence of this file signals to some editors that this repository
wishes to be formatted with rustfmt.
2018-02-21 15:14:03 -08:00
Dan Gohman
a55a582d4e
Suppress printing of placeholder external functions.
...
With the change to the parser to preserve indices, it now inserts
placeholders to pad out index spaces as needed. Placeholder functions
use reserved signature indices, so skip them when writing them out,
to avoid writing them out as "sig4294967295".
2018-02-21 13:10:58 -08:00
Dan Gohman
20500913ad
Change tabs to spaces, for consistency with rustfmt.
...
This code is in a macro, which is presumably why rustfmt itself doesn't
reformat it.
2018-02-21 12:32:26 -08:00
Jakob Stoklund Olesen
043d80f7e1
Make the bitset module private.
...
This is just an implementation detail.
2018-02-21 12:14:50 -08:00
Jakob Stoklund Olesen
eae8261b07
Make the regalloc module private.
...
Cretonne clients don't need to know how the register allocator works.
Export the RegDiversions type from the binemit module instead. It is
used by the "test binemit" driver.
2018-02-21 12:11:50 -08:00
Jakob Stoklund Olesen
2f58c371bc
Make specific ISA sub-modules private.
...
We don't want ISA-specific details exposed in the public Cretonne APIs.
2018-02-21 12:06:58 -08:00
Jakob Stoklund Olesen
8d388b2218
Fix stack pointer offsets for outgoing arguments.
...
StackSlotKind::OutgoingArg stack slots have an offset that is relative
to our own stack pointer, while all other stack slot kinds have offsets
that are relative to the caller's stack pointer.
Make sure we generate the right sp-relative offsets for outgoing
arguments too.
2018-02-21 10:34:41 -08:00
Dan Gohman
69cc6c8af3
Clean up more comments referring to "source numbers".
2018-02-20 17:27:46 -08:00
Dan Gohman
10dcfcacdb
Remove support for entity variables in filecheck.
...
Now that the parser doesn't renumber indices, there's no need for entity
variables like $v0.
2018-02-20 17:27:46 -08:00
Dan Gohman
a5b00b173e
Don't renumber entities in the parser.
...
This makes it easier to debug testcases:
- the entity numbers in a .cton file match the entity numbers used
within Cretonne.
- serializing and deserializing doesn't cause indices to change.
One disadvantage is that if a .cton file uses sparse entity numbers,
deserializing to the in-memory form doesn't compact it. However, the
text format is not intended to be performance-critical, so this isn't
expected to be a big burden.
2018-02-20 17:27:46 -08:00
Jakob Stoklund Olesen
c846ec1626
Catch NaN explicitly in expand_fcvt_to_uint().
...
When the input is a NaN, we need to generate a different trap code, so
use the new trapff instruction to generate such a trap after the first
floating point comparison.
2018-02-20 14:44:57 -08:00
Jakob Stoklund Olesen
b9b1d0fcd5
Add a trapff instruction.
...
This is the floating point equivalent of trapif: Trap when a given
condition is in the floating-point flags.
Define Intel encodings comparable to the trapif encodings.
2018-02-20 14:35:41 -08:00