Andrew Brown
f19456640c
Add documentation for top-level items in cranelift-codegen/meta
2019-10-31 09:35:08 -07:00
Peter Huene
9f506692c2
Fix clippy warnings.
...
This commit fixes the current set of (stable) clippy warnings in the repo.
2019-10-24 17:20:12 -07:00
Benjamin Bouvier
0243b642e3
[meta] Remove name lookups in formats;
...
This does a lot at once, since there was no clear way to split the three
commits:
- Instruction need to be passed an explicit InstructionFormat,
- InstructionFormat deduplication is checked once all entities have been
defined;
2019-10-22 14:05:12 +02:00
Benjamin Bouvier
9e9a7626d7
[meta] Use a ref-counted pointer to an InstructionFormat in instructions;
...
This avoids a lot of dereferences, and InstructionFormat are immutable
once they're created. It removes a lot of code that was keeping the
FormatRegistry around, just in case we needed the format. This is more
in line with the way we create Instructions, and make it easy to
reference InstructionFormats in general.
2019-10-22 14:05:12 +02:00
Benjamin Bouvier
d404368dea
Share constant_hash code between the meta and codegen crates;
2019-10-10 16:45:48 +02:00
Benjamin Bouvier
88307f693a
[meta] Generate the encodings files;
2019-07-05 17:50:17 +02:00
Benjamin Bouvier
f574ab8703
[meta] Generate the binemits files;
...
Co-authored-by: Benjamin Bouvier <public@benj.me >
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com >
2019-07-05 17:50:17 +02:00
Benjamin Bouvier
9dcc185264
[meta] Add a MapWithDefault trait;
...
This traits augments HashMap so they have a `get_or_default` method that
can be used to avoid boilerplate around usage of `entry.or_default`.
2019-07-03 18:39:28 +02:00
Benjamin Bouvier
f1d1d1e960
[meta] Uniquely number every instruction in the Rust crate;
2019-07-03 18:39:28 +02:00
Benjamin Bouvier
d6059d4605
[meta] Use the Rust crate for settings generation;
2019-05-03 12:01:12 +02:00
Benjamin Bouvier
f335c5c56c
[meta] Small fixes in the settings generation;
2019-05-03 12:01:12 +02:00
Benjamin Bouvier
dca168f350
[meta] Switch to the Rust crate to generate legalizations and remove Python code;
2019-05-02 10:08:53 +02:00
Benjamin Bouvier
e3e66acfb1
[meta] Generate legalizations in the Rust crate;
2019-04-25 11:44:56 +02:00
Benjamin Bouvier
9b156fd9bb
[meta] Use the Rust crate for opcodes/inst_builder code generation;
2019-04-09 15:42:28 +02:00
Benjamin Bouvier
b5595aadd2
[meta] Generate opcodes.rs/inst_builder.rs with the Rust crate;
2019-04-09 15:42:28 +02:00
Benjamin Bouvier
3c31eac48c
[meta] Port Instruction/InstructionGroup to the Rust meta crate;
2019-03-28 14:13:29 +01:00
Benjamin Bouvier
f3f449b45b
[meta] Tweak generation of settings/registers;
2019-03-27 14:43:27 +01:00
Benjamin Bouvier
603d80615f
[meta] Introduce the fmtln! macro to ease writing formatted strings;
2019-02-20 11:31:38 +01:00
Benjamin Bouvier
a45b814de8
Fixes #13 : Enable conditional compilation of ISAs through features;
2019-02-12 08:19:57 -08:00
Benjamin Bouvier
f78a61b998
[meta] Rename base/ to shared/ in the Rust meta crate;
2019-02-12 08:19:57 -08:00
Benjamin Bouvier
25fdda6134
[meta] Move source generation responsibility into the meta crate itself;
2019-02-12 08:19:57 -08:00
lazypassion
747ad3c4c5
moved crates in lib/ to src/, renamed crates, modified some files' text ( #660 )
...
moved crates in lib/ to src/, renamed crates, modified some files' text (#660 )
2019-01-28 15:56:54 -08:00