Jakob Stoklund Olesen
ea8a8a95a8
Remove the ebb_dominates function.
...
This is now subsumed by the generic 'dominates' function.
2017-06-12 14:59:34 -07:00
Benjamin Bouvier
29dc723e25
Update rustfmt to 0.8.4; ( #81 )
2017-05-15 15:10:47 -07:00
Jakob Stoklund Olesen
950838c489
Add a regmove instruction.
...
This will be used to locally change the register locations of values in
order to satisfy instruction constraints.
2017-05-02 11:32:12 -07:00
Jakob Stoklund Olesen
ee5f035e31
Upgrade to Rust 1.17.
...
- Remove some uses of 'static in const and static globals that are no
longer needed.
- Use the new struct initialization shorthand.
2017-04-27 12:46:44 -07:00
Jakob Stoklund Olesen
d078c546e5
Add an EntityMap::get_or_default() method.
...
This covers a common pattern for secondary entity maps: Get the value in
the map or the default value for out-of-range keys.
2017-04-25 15:53:30 -07:00
Eric Anholt
43ce26e64b
Verify that the instruction encoding matches what the ISA would encode.
...
Fixes #69
2017-04-23 17:21:32 -07:00
Jakob Stoklund Olesen
d0d5f3bb26
Run the post-regalloc verification inside the regalloc context.
...
This means that we can verify the basics with verify_context before
moving on to verifying the liveness information.
Live ranges are now verified immediately after computing them and after
register allocation is complete.
2017-04-21 16:25:24 -07:00
Jakob Stoklund Olesen
c5da572ebb
Add a liveness verifier.
...
The liveness verifier will check that the live ranges are consistent
with the function. It runs as part of the register allocation pipeline
when enable_verifier is set.
The initial implementation checks the live ranges, but not the
ISA-specific constraints and affinities.
2017-04-21 16:01:08 -07:00
Jakob Stoklund Olesen
6e95b08df1
Verifier results are always void.
...
No need for a type parameter.
2017-04-21 12:03:05 -07:00
Jakob Stoklund Olesen
bac47f2fb8
Add global CtonResult and CtonError types.
...
These are for reporting the overall result of compiling a function.
2017-04-21 11:48:56 -07:00
Jakob Stoklund Olesen
3005f903f7
Move the verifier into a verifier/mod.rs file.
...
Make room for verifier sub-modules in separate files.
2017-04-20 14:38:03 -07:00