[llvm] [Delinearization] Add function for fixed size array without relying on GEP (PR #145050)
Sebastian Pop via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 2 07:29:39 PDT 2025
================
@@ -586,9 +764,21 @@ void printDelinearization(raw_ostream &O, Function *F, LoopInfo *LI,
O << "AccessFunction: " << *AccessFn << "\n";
SmallVector<const SCEV *, 3> Subscripts, Sizes;
+
+ auto IsDelinearizationFailed = [&]() {
+ return Subscripts.size() == 0 || Sizes.size() == 0 ||
+ Subscripts.size() != Sizes.size();
+ };
+
delinearize(*SE, AccessFn, Subscripts, Sizes, SE->getElementSize(&Inst));
- if (Subscripts.size() == 0 || Sizes.size() == 0 ||
- Subscripts.size() != Sizes.size()) {
+ if (UseFixedSizeArrayHeuristic && IsDelinearizationFailed()) {
+ Subscripts.clear();
+ Sizes.clear();
+ delinearizeFixedSizeArray(*SE, AccessFn, Subscripts, Sizes,
----------------
sebpop wrote:
Why are you not enabling fixedSizeArray delinearization method on all other places?
https://github.com/llvm/llvm-project/pull/145050
More information about the llvm-commits
mailing list