celox-sir-opt 0.4.3

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

use super::commit_ops::{DirectStableStoreHazards, inline_commit_forwarding_with_hazards};

/// Run forwarding for one complete event after its cross-EU hazards have been
/// computed.  An individual EU is not a sufficient semantic scope for NBA.
pub(in crate::optimizer) fn run_complete_event(
    units: &mut [ExecutionUnit<RegionedAbsoluteAddr>],
    hazards: &DirectStableStoreHazards,
) {
    for unit in units {
        inline_commit_forwarding_with_hazards(unit, hazards);
    }
}