[llvm] [IA]: Construct (de)interleave4 out of (de)interleave2 (PR #89276)

Paul Walker via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 7 06:50:34 PDT 2024


================
@@ -17042,13 +17041,17 @@ bool AArch64TargetLowering::lowerDeinterleaveIntrinsicToLoad(
   VectorType *VTy = cast<VectorType>(DeinterleavedValues[0]->getType());
 
   bool UseScalable;
-  if (!isLegalInterleavedAccessType(VTy, DL, UseScalable))
+  if (!isLegalInterleavedAccessType(VTy, DL, UseScalable)) {
+    DeadInsts.clear();
----------------
paulwalker-arm wrote:

This assumes `DeadInsts` will be empty when entering the function, which you shouldn't rely on in general. You likely need a local until you're ready to commit to the transformation and then update `DeadInsts` accordingly.

https://github.com/llvm/llvm-project/pull/89276


More information about the llvm-commits mailing list