[all-commits] [llvm/llvm-project] db8fcb: [LAA] Add recursive IR walker for forked pointers

huntergr-arm via All-commits all-commits at lists.llvm.org
Mon Jul 18 04:08:44 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: db8fcb2c2537fa1aa71d7d8fb94545408a8085d2
      https://github.com/llvm/llvm-project/commit/db8fcb2c2537fa1aa71d7d8fb94545408a8085d2
  Author: Graham Hunter <graham.hunter at arm.com>
  Date:   2022-07-18 (Mon, 18 Jul 2022)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll

  Log Message:
  -----------
  [LAA] Add recursive IR walker for forked pointers

This builds on the previous forked pointers patch, which only accepted
a single select as the pointer to check. A recursive function to walk
through IR has been added, which searches for either a loop-invariant
or addrec SCEV.

This will only handle a single fork at present, so selects of selects
or a GEP with a select for both the base and offset will be rejected.

There is also a recursion limit with a cli option to change it.

Reviewed By: fhahn, david-arm

Differential Revision: https://reviews.llvm.org/D108699




More information about the All-commits mailing list