cfallin opened PR #5380 from refactor-alias-analysis
to main
:
This PR pulls the core of the alias analysis infrastructure into a
process_inst()
method that operates on a single instruction, and allows another compiler pass to apply store-to-load forwarding and redundant-load elimination interleaved with other work. The existing behavior remains unchanged; the pass's toplevel loop calls this extracted method.This refactor is a prerequisite for using the alias analysis as part of a refactored egraph-based optimization framework.
(Unfortunately the git diff here doesn't pick up the code motion, but almost all of the body of
process_inst()
is unchanged, just moved.)<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
cfallin requested jameysharp for a review on PR #5380.
jameysharp submitted PR review.
jameysharp submitted PR review.
jameysharp created PR review comment:
I think this doesn't need to be
&mut
any more:let mut analysis = AliasAnalysis::new(&self.func, &self.domtree);
It's not important since the next line still has to take a mutable borrow, but still.
cfallin updated PR #5380 from refactor-alias-analysis
to main
.
cfallin submitted PR review.
cfallin created PR review comment:
Fixed, thanks!
cfallin has enabled auto merge for PR #5380.
cfallin merged PR #5380.
Last updated: Dec 23 2024 at 12:05 UTC