Add serde support for exposed types. (#40)

This adds derived `Serialize` and `Deserialize` implementations for
exposed types that describe registers, operands, and related program
inputs; entity indices; and regalloc output types. This allows
serialization of any of the embedder's IR data types that may embed or
build upon regalloc2 types.

These implementations (and the dependency on the `serde` crate itself)
are enabled only when the non-default `enable-serde` feature is
specified.
This commit is contained in:
Chris Fallin
2022-04-13 10:14:00 -07:00
committed by GitHub
parent 94cd6c421c
commit 4cac1614bf
5 changed files with 38 additions and 0 deletions

View File

@@ -584,6 +584,7 @@ impl PosWithPrio {
}
#[derive(Clone, Copy, Debug, Default)]
#[cfg_attr(feature = "enable-serde", derive(serde::Serialize, serde::Deserialize))]
pub struct Stats {
pub livein_blocks: usize,
pub livein_iterations: usize,