Dan Gohman
f23ea04242
Fix a panic when splitting a critical edge on a jump_table with nulls.
...
This fixes #505 .
2018-09-12 16:59:03 -07:00
Dan Gohman
f6519c87a4
Improve the assertion failure message for sealing a block twice.
2018-09-12 16:58:36 -07:00
Dan Gohman
37272f5ceb
Removed "Variable" parametricity for SSABuilder and related code too.
2018-08-17 12:13:34 -07:00
Grégoire Geis
dbc547091f
Verifier now accepts multiple errors ( fixes #387 ). ( #452 )
...
* Verifier now accepts multiple errors (fixes #387 ).
2018-08-14 10:55:10 -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
Benjamin Bouvier
78b04fc8ab
Promote the (Block, Inst) tuple into a PredBlock struct;
2018-07-23 15:26:11 -07:00
Dan Gohman
c77df6f6d9
Add a TODO about a potential optimization opportunity.
2018-07-19 11:08:53 -07:00
Dan Gohman
f4dbd38a4c
Rename Cretonne to Cranelift!
2018-07-13 09:15:16 -07:00
Dan Gohman
cc94adca3b
Update to the rustfmt in rust 1.27, which is now stable. ( #377 )
2018-06-26 13:06:16 -07:00
Dan Gohman
a1fe0f82e1
Update to the latest stable rustfmt, 0.4.2-stable (febbb36 2018-04-12).
2018-05-29 10:37:38 -07:00
Dan Gohman
6b88cd44a8
Update to rustfmt-preview ( #348 )
...
* Update to rustfmt-preview.
* Run "cargo fmt --all" with rustfmt 0.4.1.
rustfmt 0.4.1 is the latest release of rustfmt-preview available on the
stable channel.
* Fix a long line that rustfmt 0.4.1 can't handle.
* Remove unneeded commas left behind by rustfmt.
2018-05-25 11:38:38 -07:00
Dan Gohman
9c87f3ac87
Fix some warnings in no_std builds.
...
The dbg! macro expands to nothing in no_std mode, so variables that are
only used for debugging prompt unused variable warnings.
Also, allow unstable_features in no_std builds, since they use
feature(alloc), which is an unstable feature.
2018-04-30 14:04:14 -07:00
Dan Gohman
94a883abae
Make settings::Flags::new consume the Builder.
...
This makes it more clear what the relationship is between the Builder
and the resulting Flags.
2018-04-30 13:53:36 -07:00
Dan Gohman
5f84afee2c
Merge remote-tracking branch 'origin/master' into no_std
2018-04-18 17:20:02 -07:00
Dan Gohman
bf597b7abf
Enable and fix several more clippy lints.
2018-04-17 17:05:03 -07:00
morenzg
a10a6a0df0
Merge branch 'master' into no_std
2018-04-17 16:56:33 -04:00
Dan Gohman
24fa169e1f
Rename the 'cretonne' crate to 'cretonne-codegen'.
...
This fixes the next part of #287 .
2018-04-17 09:46:56 -07:00
Dan Gohman
07693048f0
Merge remote-tracking branch 'origin/master' into no_std
2018-03-30 15:18:29 -07:00
Dan Gohman
c50675deb8
Format with nightly rustfmt-preview, then with rustfmt-0.9 again.
2018-03-30 13:23:47 -07:00
Dan Gohman
8d5fecd324
Format with stable rustfmt-preview, then with rustfmt-0.9 again.
2018-03-30 13:17:15 -07:00
Dan Gohman
4af95e37a6
Convert regular comments to documentation comments.
2018-03-28 22:48:30 -07:00
Dan Gohman
57cd69d8b4
Say "IR" instead of "IL".
...
While the specifics of these terms are debatable, "IR" generally
isn't incorrect in this context, and is the more widely recognized
term at this time.
See also the discussion in #267 .
Fixes #267 .
2018-03-28 22:07:26 -07:00
Dan Gohman
fc7b0a7e51
Rename the no_std feature to core.
...
See
https://github.com/yurydelendik/wasmparser.rs/pull/49#issuecomment-375436225
for more details.
2018-03-22 13:43:06 -07:00
Dan Gohman
2b3df1a506
Add use declarations for std features.
...
Merge the `use` parts of the `no_std` branch. This reduces the diffs
between master and the `no_std` branch, making it easier to maintain.
Most of these changes are derived from patches by @lachlansneff in
https://github.com/Cretonne/cretonne/tree/no_std .
2018-03-20 14:07:05 -07:00
Dan Gohman
4a3077d638
Merge remote-tracking branch 'origin/master' into no_std
2018-03-12 12:55:57 -07:00
Dan Gohman
1c72ccfe0a
Define a Variable struct so that frontends don't have to.
...
Frontends can still use their own types with `ILBuilder` and
`FunctionBuilder`. This just provides a basic `Variable` struct
for frontends that want it.
2018-03-09 15:08:54 -08:00
Dan Gohman
505fe9277a
Tidy up calls to analyze_branch.
2018-03-04 21:34:49 -08:00
Bruce Mitchener
125270e2b0
Fix some typos.
2018-03-04 21:33:04 -08:00
Dan Gohman
61db54c447
Add support for running tests in no_std mode.
2018-02-23 21:35:22 -08:00
Lachlan Sneff
7375088c3e
Most of the way to no_std support
2018-02-23 20:56:30 -08:00
Dan Gohman
15aff899ee
Block no longer needs to implement Hash.
2017-11-07 15:19:55 -08:00
Dan Gohman
1d8df2ed1e
Remove the requirement that Variable implement Default.
2017-11-06 11:10:14 -08:00
Dan Gohman
1cbf921d9d
Add a function to seal all the blocks at once.
2017-11-02 08:00:55 -07:00
Dan Gohman
c6d39dea5d
Add a comment about shrink_to_fit().
2017-11-01 11:35:15 -07:00
Dan Gohman
61a51f5275
Rename a variable to clarify its purpose.
2017-11-01 11:34:16 -07:00
Dan Gohman
57041ea9eb
Tidy up semicolons.
2017-11-01 11:30:37 -07:00
Dan Gohman
39c0fbb6c7
Assert that sealed blocks cannot accept new predecessors.
2017-11-01 11:27:54 -07:00
Dan Gohman
683408f30b
Break alias cycles by inserting zero values.
2017-10-26 12:22:16 -07:00
Dan Gohman
53e93d94a8
Avoid creating cyclic aliases in unreachable code.
2017-10-26 11:39:53 -07:00
Dan Gohman
fc0671a0cf
Avoid dangling references to block params when sealing an unreachable block.
2017-10-25 10:04:18 -07:00
Dan Gohman
fdf2486c0a
Handle uninitialized values of type b1 and vector.
2017-10-23 15:23:57 -07:00
Dan Gohman
c93959de7e
Fix a bug handling a use_var of a value not defined in the entry block.
2017-10-20 15:55:04 -07:00
Dan Gohman
f4b25ff058
Have FunctionBuilder clear the ILBuilder's state in its drop().
2017-10-20 11:37:25 -07:00
Jakob Stoklund Olesen
921bcc6c25
Use the term "EBB parameter" everywhere.
...
Add EBB parameter and EBB argument to the langref glossary to clarify
the distinction between formal EBB parameter values and arguments passed
to branches.
- Replace "ebb_arg" with "ebb_param" in function names that deal with
EBB parameters.
- Rename the ValueDef variants to Result and Param.
- A bunch of other small langref fixes.
No functional changes intended.
2017-10-19 16:17:09 -07:00
Dan Gohman
1a1774af15
Fix a typo in a comment.
2017-10-19 12:59:10 -07:00
Dan Gohman
16eb689dd1
Use Self instead of repeating the type name.
2017-09-21 14:21:30 -07:00
Dan Gohman
22b769b716
Convert use_var and predecessors_lookup into a state machine to avoid recursion.
2017-09-21 14:21:30 -07:00
Dan Gohman
9cda4eacde
Minor refactor.
2017-09-21 14:21:30 -07:00
Dan Gohman
df5ba8bbba
Correct a comment.
2017-09-21 14:21:30 -07:00
Dan Gohman
f524977920
Factor some logic out of seal_ebb_header_block into parts.
...
This allows append_jump_argument to call just the part that it needs
instead of the whole of seal_ebb_header_block, which is a nice cleanup
on its own, and it also eliminates a cycle from the static call graph.
2017-09-21 14:21:30 -07:00