Commit Graph

5 Commits

Author SHA1 Message Date
Jakob Stoklund Olesen
5d9e703e4f 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
85f277a2fb 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
b6105ab79b Verifier results are always void.
No need for a type parameter.
2017-04-21 12:03:05 -07:00
Jakob Stoklund Olesen
83381dadc5 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
c621770507 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