Like D93818, this patch replaces shufflevector and insertelement's placeholder value with poison.
You can find additional information on why we are changing to use poison instead of Noundef in D93818 and https://bugs.llvm.org/show_bug.cgi?id=44185.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Unit Tests
Event Timeline
Comment Actions
We have a one-vector-input create function in IRBuilder, so it was easy to update that in one place with D93793. Could we do the same for the raw ShuffleVectorInst constructor?
Do we need to update all of these in one commit to avoid regressions, or can this be split up to reduce risk?
Comment Actions
IRBuilder::CreateShuffleVector(Value *V, ArrayRef<int> Mask, const Twine &Name = "") function seems appropriate. I will use this function.
Do we need to update all of these in one commit to avoid regressions, or can this be split up to reduce risk?
It seems good to reduce the risk.
I will modify the four files below one by one so that they can be easily found if a problem occurs. Thanks!
InstCombineCasts.cpp InstCombineCompares.cpp InstCombineVectorOps.cpp InstructionCombining.cpp
clang-format: please reformat the code