[PATCH] D93793: [IR] Let IRBuilder's CreateVectorSplat use poison as inselt's placeholder

Juneyoung Lee via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Dec 27 23:34:01 PST 2020


aqjune added inline comments.


================
Comment at: llvm/lib/IR/IRBuilder.cpp:1021
   Value *Zeros = ConstantAggregateZero::get(VectorType::get(I32Ty, EC));
   return CreateShuffleVector(V, Undef, Zeros, Name + ".splat");
 }
----------------
aqjune wrote:
> nikic wrote:
> > aqjune wrote:
> > > nlopes wrote:
> > > > while at it, don't you want to change this one to poison as well?
> > > It would be great, but there are many other places that create shufflevector with undef args (InstCombineCalls, etc). Since this and related patches are big changes, I think it might be good to land these first.
> > I think in this case it makes sense to change both at once, as it's part of one construction. It's odd that one uses undef and the other poison, even though both are equally non-demanded.
> If the relevant patches are to be landed at once, I think the series of patches are being too big to maintain... :(
> I'd like to make shufflevector's placeholder as poison in another iteration.
Okay, I'll copy tests that have poison as shufflevector's placeholder value as well (will have the *-inseltpoison.ll suffix too) & update this patch.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93793



More information about the cfe-commits mailing list