[PATCH] D110623: [SLP] Avoid calculating expensive spill cost when it is not required

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 24 15:10:06 PST 2021


nikic added inline comments.


================
Comment at: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:5369
       // Debug information does not impact spill cost.
-      if ((isa<CallInst>(&*PrevInstIt) &&
-           !isa<DbgInfoIntrinsic>(&*PrevInstIt)) &&
+      CallInst *CI = dyn_cast<CallInst>(&*PrevInstIt);
+      if ((CI && (!isa<DbgInfoIntrinsic>(CI) || !isa<AssumeInst>(CI) ||
----------------
ABataev wrote:
> `auto *CI`
I think it would be best to simply skip all intrinsics here. Intrinsics being expanded inline rather than producing libcalls is a good default assumption if you don't want to model this in detail.


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

https://reviews.llvm.org/D110623



More information about the llvm-commits mailing list