celox-sir-opt 0.4.0

Backend-independent SIR optimization policy and passes for Celox
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::PassOptions;
use crate::ir::{ExecutionUnit, RegionedAbsoluteAddr};

use super::commit_ops::split_wide_commits;
use super::pass_manager::ExecutionUnitPass;

pub(in crate::optimizer) struct SplitWideCommitsPass;

impl ExecutionUnitPass for SplitWideCommitsPass {
    fn name(&self) -> &'static str {
        "split_wide_commits"
    }

    fn run(&self, eu: &mut ExecutionUnit<RegionedAbsoluteAddr>, _options: &PassOptions) {
        split_wide_commits(eu);
    }
}