This is an archive of the discontinued LLVM Phabricator instance.

[LAA] Keep track of ptr SCEV related to MemAccessInfo (WIP).
Needs ReviewPublic

Authored by fhahn on Nov 23 2021, 2:56 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
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.

Diff Detail

Event Timeline

fhahn created this revision.Nov 23 2021, 2:56 PM
fhahn requested review of this revision.Nov 23 2021, 2:56 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 23 2021, 2:56 PM
Allen added a subscriber: Allen.Aug 15 2023, 5:54 PM

hi @fhahn, do you have plan to continue this work?

I think the issue on https://github.com/llvm/llvm-project/issues/64292 is similar to  scene, but here is a phi node.
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2023, 5:54 PM
Herald added a subscriber: StephenFan. · View Herald Transcript
dewen added a subscriber: dewen.Aug 19 2023, 12:52 AM
fhahn added a comment.Aug 19 2023, 8:08 AM

hi @fhahn, do you have plan to continue this work?

I think the issue on https://github.com/llvm/llvm-project/issues/64292 is similar to  scene, but here is a phi node.

Hmm interesting! I thought it wasn't needed with the recent changes, but I'll try to check the issue out.

Allen added a comment.Aug 19 2023, 8:30 AM

thanks for your check in advance.