This is an archive of the discontinued LLVM Phabricator instance.

[LAA] Keep track of ptr SCEV related to MemAccessInfo
AbandonedPublic

Authored by Allen on Aug 19 2023, 8:04 AM.

Details

Summary

This patch extends MemAccessInfo and PointerInfo to track the associated
SCEV for the pointer. The SCEV expressions is then used instead of
accessing ScalarEvolution on demand.

This has multiple benefits:

  1. We only need to replace symbolic strides once, up front.
  2. Allows for more flexibility to have accesses with different SCEV expressions for their pointers.For example, it allows adding 2 MemAccessInfo for a pointer fed by a select.

This is still a bit rough around the edges. In particular the printing
is still missing the SCEV expression, rebase on fhahn's D114479.

co-author: fhahn

Diff Detail

Event Timeline

Allen created this revision.Aug 19 2023, 8:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 19 2023, 8:04 AM
Allen requested review of this revision.Aug 19 2023, 8:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 19 2023, 8:04 AM
Allen edited the summary of this revision. (Show Details)Aug 19 2023, 8:05 AM
Allen planned changes to this revision.Aug 19 2023, 8:10 AM
Allen requested review of this revision.Aug 22 2023, 1:13 AM

hi @fhahn, because D158493 requires this PR precommited, so would you give some suggestion?

Allen edited the summary of this revision. (Show Details)Aug 22 2023, 1:26 AM
Allen abandoned this revision.Sep 1 2023, 7:58 AM