[PATCH] D126533: [LAA] Relax pointer dependency with runtime pointer checks
Dinar Temirbulatov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 7 08:54:30 PDT 2022
dtemirbulatov added inline comments.
================
Comment at: llvm/lib/Analysis/LoopAccessAnalysis.cpp:1714-1715
+
+ if (APtr != BPtr && (SrcAffine || SinkAffine) &&
+ (SrcInvariant || SinkInvariant))
+ FoundNonConstantDistanceDependence = true;
----------------
sdesmalen wrote:
> This expression doesn't allow the case where `SrcAffine && SinkAffine && !SrcInvariant && !SinkInvariant`.
>
> AIUI the distance can only be computed if:
>
> (SrcAffine && SinkAffine) ||
> (SrcAffine && SinkInvariant) ||
> (SrcInvariant && SinkAffine) ||
> (SrcInvariant && SinkInvariant)
>
> By the way, I couldn't see any new test-cases. Did you forget to add these, or did I miss something?
Hmm , For the case if both are invariants we don't need to emit a run-time check and I think we can ignore such cases. For both are affine type pointers I have not considered to support with the change and if I allow it I noticed performance regressions.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D126533/new/
https://reviews.llvm.org/D126533
More information about the llvm-commits
mailing list