[PATCH] D77828: [BasicAA] Fix aliasGEP/DecomposeGEPExpression for scalable type.

Huihui Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 10 15:04:39 PDT 2020


huihuiz added inline comments.


================
Comment at: llvm/lib/Analysis/BasicAliasAnalysis.cpp:1326
+       SrcEleTy2->getVectorIsScalable()))
+    return MayAlias;
+
----------------
efriedma wrote:
> I think this still doesn't completely block off all the relevant cases.
> 
> DecomposeGEPExpression is recursive, so there are can be multiple levels of GEPs.  The GEP over the scalable vector may not be GEP1; it could be GEP1->getPointerOperand(), or something like that.
Good catch, Thanks Eli!

Moving the checks to DecomposeGEPExpression, so we have knowledge of scalable type given multiple levels of GEPs.

Patch updated accordingly, and with more tests in recursive geps.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D77828





More information about the llvm-commits mailing list