Commit Graph

2829 Commits

Author SHA1 Message Date
Dan Gohman
7f530cd751 Add a langref.rst page that redirects to the new ir.rst page. 2018-08-02 15:25:09 -07:00
Dan Gohman
1b30265c5c Define a "table" concept.
"Table" is to WebAssembly tables as "Heap" is to WebAssembly linear
memories.
2018-08-02 15:21:34 -07:00
Dan Gohman
cd75176f10 Update to the rustfmt in rust 1.28, which is now stable.
Also, rustfmt's --write-mode=check is now named --check.
2018-08-02 09:55:40 -07:00
Dan Gohman
26d122306d Don't attempt to shrink regfill/regspill/regmove instructions.
This is a temporary workaround for bugs such as #420, where normal
operand constraint checking doesn't correctly handle such instructions.
2018-08-02 09:53:25 -07:00
Dan Gohman
c61f8a5baf Rename langref.rst to ir.rst.
This aligns with our use of the term "IR" rather than "IL" or
other terms involving "language".
2018-08-02 09:18:59 -07:00
Dan Gohman
987bbfa922 Fix rustfmt errors. 2018-08-01 15:14:49 -07:00
bjorn3
5389b7784e Check signature compatibility in declare_function (fixes #427) 2018-08-01 14:23:59 -07:00
Dan Gohman
a8ded3a6f1 Remove unneeded dependencies. 2018-08-01 14:12:46 -07:00
Dan Gohman
bc8e5f82c8 Add use declarations needed for no_std mode. 2018-08-01 14:10:54 -07:00
Dan Gohman
c8350f4e8f Update to raw-cpuid 5.0.0. 2018-08-01 14:06:16 -07:00
Dan Gohman
b8dbbce99d Update cranelift-serde's license field.
This updates it to "Apache-2.0 WITH LLVM-exception".
2018-08-01 13:36:58 -07:00
Dan Gohman
c49c20713c Check for duplicate jump tables before performing any IR mutations.
This isn't fixing an actual bug, but it does make `add_jt` more
consistent with the other `add_*` functions.
2018-08-01 13:33:54 -07:00
Dan Gohman
63e87895eb Remove an unneeded command-line option. 2018-08-01 13:24:53 -07:00
Dan Gohman
f89cb1df64 Fix the test script to return an error if formatting diffs are found. 2018-08-01 13:24:53 -07:00
bjorn3
01729be8d7 Add comment support (#379)
* Add comment support

* Don't print empty comments

* Add nop instruction

* Add test and note

* Add FuncWriter trait

* Remove comment support

* Add write_preamble to FuncWriter

* Fix test

* Some changes
2018-08-01 11:21:05 -07:00
Dan Gohman
c42bed7452 Update paths for the meta => meta-python rename. 2018-08-01 05:05:33 -07:00
Benjamin Bouvier
3a550d185f Enhance Verifier error reporting; 2018-07-31 08:02:14 -07:00
Dan Gohman
1b42105faa Remove reserved_reg functionality. (#424)
* Remove reserved_reg functionality.

This wasn't implemented, and if we need it in the future, it seems like
it would be better to extend the concept of global values to cover this.

* Use GlobalValue::reserved_value() for sentinal values.
2018-07-31 07:57:37 -07:00
data-pup
d9d40e1cdf lib/codegen-meta moved into lib/codegen. (#423)
* lib/codegen-meta moved into lib/codegen.

* Renamed codegen-meta and existing meta.
2018-07-31 07:56:26 -07:00
Caroline Cullen
65a1a6bb28 Add serde functionality into lib. (#422)
* Adds decoration to the verifier errors.

example:

function %bad(i32) fast {
ebb0(v0: i32):
    brnz.i32 v0, ebb1
    return
    ^~~~~~

verifier inst1: Internal return not allowed with return_at_end=1

ebb1:
    trapz.i32 v0, user6
    return
}

Fixes #68

* Making it so that pretty_function_error and write_function_plain are both private.

* Changes write_ebb to decorate_ebb.
Adds documentation line to decorate_function.

* Removing Cargo.toml lib/serde addition

* Add serde functionality into lib.

* Fix so code is compatible with Rust version 1.25.0.

* Move ser/de functions to utility file, update description, remove borrow from arms.

* Remove commented out code.
2018-07-31 07:48:12 -07:00
Aaron Power
13fea26c95 Correctly handle duplicate definitions 2018-07-28 11:48:13 -07:00
Dan Gohman
d0fbf47987 Fix rustfmt errors. 2018-07-26 11:51:12 -07:00
Dan Gohman
e0124fa82f Rename local variables to clarify their purpose. 2018-07-26 11:14:52 -07:00
Dan Gohman
15520fa961 Enable a few more clippy lints. 2018-07-26 10:10:36 -07:00
Aaron Power
cc7ba7e69a Fixed remaning clippy warnings 2018-07-25 13:05:14 -07:00
Aaron Power
952a086f32 Fixed trivially_copy_pass_by_ref warnings 2018-07-25 10:31:01 -07:00
Corey Farwell
299898d494 Add fuzz target for cranelift_reader::parse_test. 2018-07-24 12:42:11 -07:00
Aaron Power
eed861c6e1 Implemented clippy improvements 2018-07-24 12:36:34 -07:00
Dan Gohman
d6d1e7253d Bump version to 0.17.0 2018-07-23 16:57:51 -07:00
Dan Gohman
8904ec77c9 Temporarily disable use of cretonne-codegen-meta.
Once we figure out how to publish this code, we can re-enable it.
2018-07-23 16:57:51 -07:00
Dan Gohman
6cb03a873d Bump version to 0.17.0-alpha 2018-07-23 16:15:53 -07:00
Benjamin Bouvier
78b04fc8ab Promote the (Block, Inst) tuple into a PredBlock struct; 2018-07-23 15:26:11 -07:00
Benjamin Bouvier
f72ff791b4 Promote the BasicBlock tuple to a real struct;
It makes reading code that uses it easier to understand.
2018-07-23 15:26:11 -07:00
data-pup
ce177d643e Remove gen_build_deps module. 2018-07-22 13:51:23 -07:00
Benjamin Bouvier
5f3cd868cd [wasm] Rename native_pointer() to pointer_type() to make it more apparent it's a type; 2018-07-20 13:11:36 -07:00
Dan Gohman
32d657d62a Update to faerie 0.4.4 and goblin 0.0.17. 2018-07-19 11:58:08 -07:00
Dan Gohman
7f98f436f0 Add a link to the faerie github page. 2018-07-19 11:08:53 -07:00
Dan Gohman
20899d04a1 Fix "Title overline too short." warnings in more *.rst files. 2018-07-19 11:08:53 -07:00
Dan Gohman
45ef3149f1 Update hashmap_core to 0.1.9. 2018-07-19 11:08:53 -07:00
Dan Gohman
c77df6f6d9 Add a TODO about a potential optimization opportunity. 2018-07-19 11:08:53 -07:00
data-pup
06319b415a Added initial Rust codegen-meta implementation. (#403)
* Added initial Rust codegen-meta implementation.

* Replace 'Cretonne' in comments.

* Prevent iterator overflow.

* 1.25.0 compatibility changes.

* Implemented debug traits for type variants.

* Added consistent comments.

* Cleaned up a loop via clippy fix.

* Added new license to codegen-meta Cargo.toml

* Edited lane type iterator `next` method.

* Removed functions that are not needed in Rust, and edited desc.

* Debug trait derived for valuetype.

* Added comments for iterator types in the base types submodule.

* Numbering is now handled in the cdsl/types.rs file.

* Moved type number logic into cdsl/types.

* Repeating the lane change cleanup.

* Removed codegen-meta crate from codegen deps.

* Typo fix.

* Addressing a patch note.

* Addressing patch note.

* Lowercase in vector names.

* Fixing a comment bug.

* Added a copy of the license file.

* Formatting changes.

* Cleaned up the vector type numbering.

* 1.25 compatibility.

* Fixed pattern match arms.
2018-07-19 09:56:23 -07:00
Benjamin Bouvier
7b290cd900 Move the code section parsing into its own function; 2018-07-19 06:39:56 -07:00
Benjamin Bouvier
03159a9200 Misc refactorings when looking at the wasm code; 2018-07-19 06:39:56 -07:00
Dan Gohman
c068721964 Bump version to 0.16.1 2018-07-18 13:33:15 -07:00
Dan Gohman
1081d06173 Use the new realm-switching ABI in the baldrdash calling convention. 2018-07-17 22:44:00 -07:00
Dan Gohman
ce27b2a74f Bump version to 0.16.0 2018-07-17 15:49:04 -07:00
Dan Gohman
76a537e3d4 Update to wasmparser.rs 0.17.2. 2018-07-17 15:46:35 -07:00
Dan Gohman
289145e7cf Update to wasmparser.rs 0.17.1. 2018-07-17 15:43:39 -07:00
Dan Gohman
c0d5ffc380 The latest Ubuntu LTS now has Rust 1.25. 2018-07-17 15:01:08 -07:00
Dan Gohman
82ea38e4af Convert expected uses to an unnumbered list, as they aren't ordered. 2018-07-17 15:01:08 -07:00