Compare commits

...

2 Commits

Author SHA1 Message Date
Mike Vitousek
f8d2ebbd7d Update base for Update on "[compiler] Migrate PruneNonEscapingScopes to HIR"
Summary:
PruneNonEscapingScopes does a pretty powerful escape analysis, which we might want to apply for other purposes in our HIR passes. This ports this pass to HIR. For the most part, this implementation is identical to the ReactiveFunction version. It now handles phis instead of conditional ReactiveExpressions, which it does by treating all the phi operands as possibly aliasing the lvalue. This also requires that we iterate the aliasing analysis to a fixpoint, because the HIR has backedges which the ReactiveFunctions don't.

In our fixtures, this only changes one result, which appears to have become more accurate. I plan on testing this internally in a sync before landing.

[ghstack-poisoned]
2025-05-05 14:17:00 -07:00
Mike Vitousek
cbd28e8d9f Update base for Update on "[compiler] Migrate PruneNonEscapingScopes to HIR"
Summary:
PruneNonEscapingScopes does a pretty powerful escape analysis, which we might want to apply for other purposes in our HIR passes. This ports this pass to HIR. For the most part, this implementation is identical to the ReactiveFunction version. It now handles phis instead of conditional ReactiveExpressions, which it does by treating all the phi operands as possibly aliasing the lvalue. This also requires that we iterate the aliasing analysis to a fixpoint, because the HIR has backedges which the ReactiveFunctions don't.

In our fixtures, this only changes one result, which appears to have become more accurate. I plan on testing this internally in a sync before landing.

[ghstack-poisoned]
2025-01-13 11:42:46 -08:00

Diff Content Not Available