Skip to content

Commit 5f7b4cc

Browse files
committed
chore: remove mention of sroa inside of docs
1 parent c2cafea commit 5f7b4cc

File tree

2 files changed

+12
-10
lines changed
  • libs/@local/hashql/mir/src/pass

2 files changed

+12
-10
lines changed

libs/@local/hashql/mir/src/pass/analysis/callgraph/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
//! `_1 = @fn; _2 = _1(...)`) produce an [`Opaque`] edge at the assignment site, not an
3434
//! [`Apply`] edge at the call site.
3535
//!
36-
//! This is intentional: the analysis is designed to run after SROA, which propagates function
37-
//! references through locals, eliminating most indirect call patterns.
36+
//! This is intentional: the analysis is designed to run after forward substitution, which
37+
//! propagates function references through locals, eliminating most indirect call patterns.
3838
//!
3939
//! [`Opaque`]: CallKind::Opaque
4040
//! [`DataDependencyAnalysis`]: super::DataDependencyAnalysis

libs/@local/hashql/mir/src/pass/transform/inst_simplify/mod.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,14 @@
6868
//!
6969
//! # Interaction with Other Passes
7070
//!
71-
//! This pass runs after [`Sroa`], which resolves places through the data dependency graph. SROA
72-
//! ensures that operands are simplified to their canonical forms before [`InstSimplify`] runs, so
73-
//! constants that flow through assignments or block parameters are already exposed.
71+
//! This pass runs after [`ForwardSubstitution`], which resolves places through the data dependency
72+
//! graph. Forward substitution ensures that operands are simplified to their canonical forms before
73+
//! [`InstSimplify`] runs, so constants that flow through assignments or block parameters are
74+
//! already exposed.
7475
//!
75-
//! Block parameter propagation in this pass complements SROA: while SROA resolves structural
76-
//! dependencies at the operand level, [`InstSimplify`] propagates constants discovered through
77-
//! folding across block boundaries.
76+
//! Block parameter propagation in this pass complements forward substitution: while forward
77+
//! substitution resolves structural dependencies at the operand level, [`InstSimplify`] propagates
78+
//! constants discovered through folding across block boundaries.
7879
//!
7980
//! # Limitations
8081
//!
@@ -84,7 +85,7 @@
8485
//! iterating until the `evaluated` map stabilizes, which is not implemented as the expected
8586
//! benefit is low.
8687
//!
87-
//! [`Sroa`]: super::Sroa
88+
//! [`ForwardSubstitution`]: super::ForwardSubstitution
8889
#[cfg(test)]
8990
mod tests;
9091

@@ -460,7 +461,8 @@ impl<'heap, A: Allocator> VisitorMut<'heap> for InstSimplifyVisitor<'_, 'heap, A
460461
Binary { op, left, right }: &mut Binary<'heap>,
461462
) -> Self::Result<()> {
462463
// Dispatch to the appropriate simplification based on operand classification.
463-
// SROA has already resolved structural dependencies, so constants are directly visible.
464+
// Forward substitution has already resolved structural dependencies, so constants are
465+
// directly visible.
464466
match (self.try_eval(*left), self.try_eval(*right)) {
465467
(OperandKind::Int(lhs), OperandKind::Int(rhs)) => {
466468
let result = Self::eval_bin_op(lhs, *op, rhs);

0 commit comments

Comments
 (0)