[meta] Port all the Cranelift instructions to the meta crate;

This commit is contained in:
Benjamin Bouvier
2019-03-11 19:37:00 +01:00
parent 3c31eac48c
commit 86430abc4c
2 changed files with 3111 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -3,15 +3,18 @@
pub mod entities; pub mod entities;
pub mod formats; pub mod formats;
pub mod immediates; pub mod immediates;
pub mod instructions;
pub mod settings; pub mod settings;
pub mod types; pub mod types;
use crate::cdsl::formats::FormatRegistry; use crate::cdsl::formats::FormatRegistry;
use crate::cdsl::inst::InstructionGroup;
use crate::cdsl::operands::OperandKind; use crate::cdsl::operands::OperandKind;
use crate::cdsl::settings::SettingGroup; use crate::cdsl::settings::SettingGroup;
pub struct Definitions { pub struct Definitions {
pub settings: SettingGroup, pub settings: SettingGroup,
pub instructions: InstructionGroup,
pub operand_kinds: OperandKinds, pub operand_kinds: OperandKinds,
pub format_registry: FormatRegistry, pub format_registry: FormatRegistry,
} }
@@ -49,6 +52,7 @@ pub fn define() -> Definitions {
let format_registry = formats::define(&immediates, &entities); let format_registry = formats::define(&immediates, &entities);
Definitions { Definitions {
settings: settings::define(), settings: settings::define(),
instructions: instructions::define(&format_registry, &immediates, &entities),
operand_kinds: immediates, operand_kinds: immediates,
format_registry, format_registry,
} }