aboutsummaryrefslogtreecommitdiff
path: root/patio-to-cranelift/src/patio/mod.rs
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2026-07-31 14:45:04 +0100
committerMichael Williamson <mike@zwobble.org>2026-07-31 15:22:40 +0100
commit91860485774924e82da9b0774179d4c3c8da810a (patch)
treee06f52f147502e80aea139c20adac706479cb7ea /patio-to-cranelift/src/patio/mod.rs
parent410fff7b7ecf6f36a0a46ab1d90553169e3728f1 (diff)
Use transient-0 instead of flatbuffersmain
Diffstat (limited to 'patio-to-cranelift/src/patio/mod.rs')
-rw-r--r--patio-to-cranelift/src/patio/mod.rs73
1 files changed, 67 insertions, 6 deletions
diff --git a/patio-to-cranelift/src/patio/mod.rs b/patio-to-cranelift/src/patio/mod.rs
index 4316b519..3027cda4 100644
--- a/patio-to-cranelift/src/patio/mod.rs
+++ b/patio-to-cranelift/src/patio/mod.rs
@@ -1,6 +1,67 @@
-pub(crate) mod compilation_unit;
-pub(crate) mod flatbuffers;
-pub(crate) mod instructions;
-pub(crate) mod operands;
-pub(crate) mod types;
-pub(crate) mod values;
+include!("../gen/patio.rs");
+
+pub(crate) mod instructions {
+ include!("../gen/patio/instructions.rs");
+
+ #[allow(unused)]
+ pub(crate) mod transient_0 {
+ include!("../gen/patio/instructions/transient_0.rs");
+ }
+}
+
+pub(crate) mod operands {
+ include!("../gen/patio/operands.rs");
+
+ #[allow(unused)]
+ pub(crate) mod transient_0 {
+ include!("../gen/patio/operands/transient_0.rs");
+ }
+}
+
+pub(crate) mod types {
+ include!("../gen/patio/types.rs");
+
+ impl PatioDataValue {
+ pub(crate) fn layout(&self) -> PatioDataLayout {
+ match self {
+ PatioDataValue::PatioDataValueArray(array) => PatioDataLayoutArray {
+ element: array.element_layout.clone(),
+ size: array.elements.len().try_into().unwrap(),
+ }
+ .into(),
+ PatioDataValue::PatioDataValueBool(_) => PatioDataLayoutBool.into(),
+ PatioDataValue::PatioDataValueByte(_) => PatioDataLayoutByte.into(),
+ PatioDataValue::PatioDataValueDataPtr(_) => PatioDataLayoutDataPtr.into(),
+ PatioDataValue::PatioDataValueInt(_) => PatioDataLayoutInt.into(),
+ PatioDataValue::PatioDataValueInt32(_) => PatioDataLayoutInt32.into(),
+ PatioDataValue::PatioDataValueStruct(value_struct) => PatioDataLayoutStruct {
+ elements: value_struct
+ .elements
+ .iter()
+ .map(|element| element.layout())
+ .collect(),
+ }
+ .into(),
+ }
+ }
+ }
+
+ #[allow(unused)]
+ pub(crate) mod transient_0 {
+ include!("../gen/patio/types/transient_0.rs");
+ }
+}
+
+pub(crate) mod values {
+ include!("../gen/patio/values.rs");
+
+ #[allow(unused)]
+ pub(crate) mod transient_0 {
+ include!("../gen/patio/values/transient_0.rs");
+ }
+}
+
+#[allow(unused)]
+pub(crate) mod transient_0 {
+ include!("../gen/patio/transient_0.rs");
+}