[PATCH] D100122: Update m_Undef to match vectors/aggrs with undefs and poisons mixed

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 8 09:12:55 PDT 2021


aqjune added inline comments.


================
Comment at: llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll:30
 ; CHECK-NEXT:    [[DOTSCALAR8:%.*]] = add i32 [[DOTSCALAR7]], 317425
-; CHECK-NEXT:    [[TMP1:%.*]] = insertelement <4 x i32> poison, i32 [[DOTSCALAR8]], i64 0
 ; CHECK-NEXT:    [[TMP2:%.*]] = shufflevector <4 x i32> [[TMP1]], <4 x i32> poison, <4 x i32> zeroinitializer
----------------
Interestingly, this updates caused unused lanes to be undef even if they were updated to be `poison` in the past.
I guess this is related to the (still) ongoing work about shufflevector's undef mask things.
The work is currently blocked by the incorrect `select` -> `and/or` transformation.
If the shufflevector patches are finally landed, this will be resolved.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D100122



More information about the llvm-commits mailing list