[PATCH] D86669: [ValueTracking] Remove MaxLookup from getUnderlyingObjects

Florian Hahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 23 08:13:41 PDT 2021


fhahn added a comment.

> getUnderlyingObjects already traverse large set on instructions so
> there is no reason to limit some sequences by MaxLookup.

I am not sure I completely follow this reasoning. Even if it already traverses a large number of instructions, without the depth limit it will visit even more? Do you have any estimate on the impact in terms of extra work?



================
Comment at: llvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll:96
 ; CHECK: for_j.body:
-; FIXME: This is incorrect and is going to be fixed with D86669.
-; CHECK-NEXT: Memory dependences are safe with run-time checks
----------------
Not sure if it is really incorrect, but it is certainly a bit misleading; we will create a runtime check between `gepB_plus_one` and `gepB9`, which will never succeed I think.

The result with the patch is certainly an improvement.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86669/new/

https://reviews.llvm.org/D86669



More information about the llvm-commits mailing list