pub mod gisel_combiner;
pub mod gisel_irtranslator;
pub mod gisel_legalizer;
pub mod gisel_machine_ir;
pub mod gisel_regbankselect;
pub use gisel_combiner::GISelCombiner;
pub use gisel_irtranslator::GISelIRTranslator;
pub use gisel_legalizer::{
GISelLegalizer, LegalizeAction, LegalizeCondition, LegalizeRule, LegalizerInfo,
};
pub use gisel_machine_ir::MachineIRBuilder;
pub use gisel_regbankselect::{
CostModel, ExhaustiveRegBankSelect, GreedyRegBankSelect, RegBankSelectPass,
RegBankSelectStrategy, RegisterBank, RepairingPlacement, TargetRegBankInfo,
};
pub const GISEL_MAX_LEGALIZATION_ITERATIONS: usize = 32;
pub const GISEL_MAX_COMBINE_ITERATIONS: usize = 8;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_gisel_constants() {
assert_eq!(GISEL_MAX_LEGALIZATION_ITERATIONS, 32);
assert_eq!(GISEL_MAX_COMBINE_ITERATIONS, 8);
}
}