[flang-commits] [flang] [flang] Disambiguate derived component accesses in AliasAnalysis. (PR #189516)
via flang-commits
flang-commits at lists.llvm.org
Tue Mar 31 07:11:59 PDT 2026
jeanPerier wrote:
I think Tom example is failing with your patch because the alias() code [here](https://github.com/llvm/llvm-project/blob/efbd59631091fdf4ed3c0f33343ccd63dd896e00/flang/lib/Optimizer/Analysis/AliasAnalysis.cpp#L390-L393) is claiming that "Handling of non-data is included below." while it is not really covered below and just falling back to NoAlias.
I have trouble wrapping my head around the "following data" concept every time I read that code again in a review. I wonder if we would not be better without it (or at least reverse it to a "descriptor address" concept, or find another way to reason about things.
For instance, instead of walking back indirect loads and mix attributes, we could try to add a field in the Source to store POINTER/ALLOCATABLE sources for indirect loads and then try to analyze whether these POINTERS/ALLOCTABLEs can be associated with the source for the other memory slot being analyzed.
https://github.com/llvm/llvm-project/pull/189516
More information about the flang-commits
mailing list