Bruce Mitchener
4f8753fa11
Fix typos.
2018-12-24 10:03:22 -08:00
Nicholas Nethercote
46d9a3cd1a
Use an FxHashMap in RegDiversions.
...
Because it's hot and the number of entries can reach the 1000s, so
linear insertion and search is bad.
This reduces runtime for `sqlite` and `UE4Game-HTML5-Shipping` by 3-4%,
and a couple of other benchmarks (`sqlite`, `godot`, `clang`) by smaller
amounts.
It also increases runtime for `mono` and `tanks` by about 1%; this seems
to be due to incidental changes in which functions are inlined more than
algorithmic changes.
2018-12-17 21:36:06 -08:00
Dan Gohman
c8e457e834
Bump version to 0.26.0
2018-12-11 12:54:23 -08:00
Dan Gohman
68a13646f9
Add a from_u32 function to EntityRef.
...
This eliminates the need for casting in common cases.
2018-12-11 15:40:24 -05:00
Dan Gohman
b841652539
Add a Slice to supplement PrimaryMap.
2018-12-11 15:40:24 -05:00
Dan Gohman
5b03581442
Tidy up use declaration syntax.
2018-12-11 15:40:24 -05:00
Dan Gohman
605f34257b
Fix a missing #[test].
2018-12-11 15:40:24 -05:00
Dan Gohman
42e35c4c57
Implement PrimaryMap::with_capacity.
2018-12-11 15:40:24 -05:00
Dan Gohman
c287231720
Implement FromIterator for PrimaryMap.
2018-12-11 15:40:24 -05:00
Dan Gohman
e623da51c6
Suppress dead-code warnings on functions expanded from entity_impl!.
2018-12-11 15:40:24 -05:00
Dan Gohman
91477d21c8
Add an as_u32() member to entity_impl types.
...
This allows us to avoid a lot of casting indices back to u32.
2018-12-11 15:40:24 -05:00
Dan Gohman
5d7ece3d15
Fix clippy warning namespaces.
2018-12-06 20:50:38 -05:00
Dan Gohman
5adab629f2
Update to the rustfmt in rust 1.31, which is now stable.
2018-12-06 16:15:48 -05:00
Dan Gohman
30654a6a7d
Bump version to 0.25.0
2018-11-26 22:31:07 -08:00
Dan Gohman
367f3cd5d3
Implement reserve and reserve_exact for PrimaryMap.
2018-11-26 22:18:36 -08:00
Dan Gohman
c17579e7ec
Bump version to 0.24.0
2018-11-26 22:18:36 -08:00
Dan Gohman
14dfc0d1b6
Bump version to 0.23.0.
2018-11-07 16:18:04 -08:00
Dan Gohman
38e8667f97
Adjust whitespace to match the upstream exception text.
...
This is a whitespace-only change.
2018-11-07 16:07:51 -08:00
Benjamin Bouvier
b7f2acf0ea
[build] Implement registers code generation in the Rust meta crate;
2018-11-06 13:12:17 -08:00
Dan Gohman
9471c06da4
Update to use newer Rust features.
...
This re-introduces several cleanups that we previously deferred for not
supporting Rust 1.25.
2018-10-31 12:54:16 -07:00
Dan Gieschen Knutson
a19c6088f0
use iterative rather than recursive method for following aliases ( #573 )
...
* use iterative rather than recursive method for following aliases
* this avoids consuming stack via plain recursive calls
2018-10-28 20:26:44 -07:00
Muhammad Mominul Huque
d266b1a42d
Rename EntityMap to SecondaryMap ( #528 )
...
* Rename `EntityMap` to `SecondaryMap`
2018-09-26 12:03:44 -07:00
Dan Gohman
ab99720959
Bump version to 0.22.0
2018-09-21 21:39:41 -07:00
Dan Gohman
3228d73f33
Add more content to cranelift-entity's README.md. ( #515 )
...
* Add more content to cranelift-entity's README.md.
Summarize what cranelift-entity provides, and how it differs from
similar systems such as slotmap, which was recently highlighted in the
RustConf 2018 Closing Keynote.
2018-09-19 13:49:59 -07:00
Dan Gohman
53a0c6c67f
Update to the rustfmt in rust 1.29, which is now stable.
2018-09-13 12:59:25 -07:00
Dan Gohman
b4c7451ae5
Bump version to 0.21.1
2018-09-10 10:00:45 -07:00
Dan Gohman
e8878ba504
Bump version to 0.21.0
2018-09-04 22:04:22 -07:00
Dan Gohman
67b7a8594a
Implementing Deref in PrimaryMap turns out to be error-prone, so remove it.
...
One of the big advantages of PrimaryMap is that it protects against
using the wrong indices via a distinct index type. A Deref trait that
returns a plain slice would accept other indices. Add a comment
explaining this.
2018-08-28 20:55:06 -07:00
Dan Gohman
c836a96e30
Bump cranelift-entity version to 0.20.1.
2018-08-28 20:19:09 -07:00
Dan Gohman
1affd5eae7
Add Deref and DerefMut implementations for PrimaryMap.
2018-08-28 20:19:01 -07:00
Dan Gohman
7fa0a38793
Bump version to 0.20.0
2018-08-28 16:37:52 -07:00
Dan Gohman
2c9b7fd73a
Add "no-std" category to crates supporting no-std.
...
And add "wasm" category to cranelift-wasm.
2018-08-22 12:51:54 -07:00
Dan Gohman
6a07c72867
Bump version to 0.19.0
2018-08-14 12:55:34 -07:00
Dan Gohman
cc4bf1c7fb
Deny unstable_features in "std" builds.
2018-08-13 12:51:49 -07:00
Dan Gohman
cd02010a78
Bump version to 0.18.1
2018-08-02 20:10:23 -07:00
Dan Gohman
c4a056a7a0
Bump version to 0.18.0
2018-08-02 18:34:22 -07:00
Dan Gohman
d6d1e7253d
Bump version to 0.17.0
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
Dan Gohman
c068721964
Bump version to 0.16.1
2018-07-18 13:33:15 -07:00
Dan Gohman
ce27b2a74f
Bump version to 0.16.0
2018-07-17 15:49:04 -07:00
Dan Gohman
17db4e6be8
Add a LICENSE file to each crate.
...
The individual crates are published separately from the main repository
on crates.io. To ensure that a copy of the LICENSE file accompanies all
published copies of the code, give each crate its own LICENSE file.
2018-07-17 12:48:27 -07:00
Dan Gohman
a28a3c3ea9
Bump version to 0.15.0
2018-07-14 07:27:35 -07:00
Dan Gohman
2db2d946b8
Support the rustc in the latest Ubuntu LTS.
...
At this time, this is Bionic, with Rust 1.25.0.
2018-07-13 16:26:21 -07:00
Dan Gohman
262689908e
Bump version to 0.14.0
2018-07-13 09:26:46 -07:00
Dan Gohman
401c872c52
Update more paths for the CraneStation/cranelift rename.
2018-07-13 09:22:15 -07:00
Dan Gohman
f4dbd38a4c
Rename Cretonne to Cranelift!
2018-07-13 09:15:16 -07:00
Dan Gohman
19a636af96
Change Cretonne's license to "Apache-2.0 WITH LLVM-exception".
...
This adds the "LLVM-exception" to Cretonne's existing Apache-2.0
license.
https://spdx.org/licenses/LLVM-exception.html
2018-07-13 07:25:32 -07:00
Amanieu d'Antras
65ef4a7583
Add EntityList::from_slice to build a list from an existing slice
2018-07-12 09:05:46 -07:00
Amanieu d'Antras
5c7aeb46dd
Make InstructionData comparable and hashable ( #388 )
...
* Don't implement Eq and Hash for EntityList
* Generate eq and hash methods for InstructionData
* Use the eq() and hash() methods of InstructionData in simple_gvn
2018-07-06 12:09:20 -07:00
Dan Gohman
112ae6df56
Bump version to 0.13.0
2018-07-02 15:48:18 -07:00