[PATCH] D104057: [SLP]Allow reordering of insertelements.

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 10 14:02:34 PDT 2021


nikic added inline comments.


================
Comment at: llvm/test/Transforms/SLPVectorizer/X86/external_user_jumbled_load-inseltpoison.ll:15
 ; CHECK-NEXT:    [[TMP5:%.*]] = load <4 x i32>, <4 x i32>* [[TMP4]], align 4
-; CHECK-NEXT:    [[SHUFFLE:%.*]] = shufflevector <4 x i32> [[TMP5]], <4 x i32> poison, <4 x i32> <i32 1, i32 2, i32 3, i32 0>
-; CHECK-NEXT:    store <4 x i32> [[SHUFFLE]], <4 x i32>* [[SINK:%.*]], align 16
+; CHECK-NEXT:    [[TMP6:%.*]] = shufflevector <4 x i32> [[TMP5]], <4 x i32> undef, <4 x i32> <i32 1, i32 2, i32 3, i32 0>
+; CHECK-NEXT:    store <4 x i32> [[TMP6]], <4 x i32>* [[SINK:%.*]], align 16
----------------
This shouldn't be generating undef. I assume it comes from https://github.com/llvm/llvm-project/blob/5d5b686f6bf6b15b8fbd9ccf957295397f27afc9/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp#L5216, where you can simply omit the explicit UndefValue argument, in which case PoisonValue will be used.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104057



More information about the llvm-commits mailing list