forked from OSchip/llvm-project
Fix vector pass-through value being unused in IRBuilder::CreateMaskedGather
Also s/0/nullptr in the call site in LV. llvm-svn: 303416
This commit is contained in:
parent
a1c30937ce
commit
4d33c86359
|
@ -381,8 +381,11 @@ CallInst *IRBuilderBase::CreateMaskedGather(Value *Ptrs, unsigned Align,
|
|||
Mask = Constant::getAllOnesValue(VectorType::get(Type::getInt1Ty(Context),
|
||||
NumElts));
|
||||
|
||||
if (!PassThru)
|
||||
PassThru = UndefValue::get(DataTy);
|
||||
|
||||
Type *OverloadedTypes[] = {DataTy, PtrsTy};
|
||||
Value * Ops[] = {Ptrs, getInt32(Align), Mask, UndefValue::get(DataTy)};
|
||||
Value * Ops[] = {Ptrs, getInt32(Align), Mask, PassThru};
|
||||
|
||||
// We specify only one type when we create this intrinsic. Types of other
|
||||
// arguments are derived from this type.
|
||||
|
|
|
@ -3047,7 +3047,7 @@ void InnerLoopVectorizer::vectorizeMemoryInstruction(Instruction *Instr) {
|
|||
if (CreateGatherScatter) {
|
||||
Value *MaskPart = Legal->isMaskRequired(LI) ? Mask[Part] : nullptr;
|
||||
NewLI = Builder.CreateMaskedGather(VectorGep[Part], Alignment, MaskPart,
|
||||
0, "wide.masked.gather");
|
||||
nullptr, "wide.masked.gather");
|
||||
Entry[Part] = NewLI;
|
||||
} else {
|
||||
// Calculate the pointer for the specific unroll-part.
|
||||
|
|
Loading…
Reference in New Issue