diff options
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index e078a091a72..3afd84a895f 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -8263,32 +8263,32 @@ static Value *getMaskVecValue(CodeGenFunction &CGF, Value *Mask, } static Value *EmitX86MaskedStore(CodeGenFunction &CGF, - SmallVectorImpl<Value *> &Ops, + ArrayRef<Value *> Ops, unsigned Align) { // Cast the pointer to right type. - Ops[0] = CGF.Builder.CreateBitCast(Ops[0], + Value *Ptr = CGF.Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ops[1]->getType())); Value *MaskVec = getMaskVecValue(CGF, Ops[2], Ops[1]->getType()->getVectorNumElements()); - return CGF.Builder.CreateMaskedStore(Ops[1], Ops[0], Align, MaskVec); + return CGF.Builder.CreateMaskedStore(Ops[1], Ptr, Align, MaskVec); } static Value *EmitX86MaskedLoad(CodeGenFunction &CGF, - SmallVectorImpl<Value *> &Ops, unsigned Align) { + ArrayRef<Value *> Ops, unsigned Align) { // Cast the pointer to right type. - Ops[0] = CGF.Builder.CreateBitCast(Ops[0], + Value *Ptr = CGF.Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(Ops[1]->getType())); Value *MaskVec = getMaskVecValue(CGF, Ops[2], Ops[1]->getType()->getVectorNumElements()); - return CGF.Builder.CreateMaskedLoad(Ops[0], Align, MaskVec, Ops[1]); + return CGF.Builder.CreateMaskedLoad(Ptr, Align, MaskVec, Ops[1]); } static Value *EmitX86MaskLogic(CodeGenFunction &CGF, Instruction::BinaryOps Opc, - unsigned NumElts, SmallVectorImpl<Value *> &Ops, + unsigned NumElts, ArrayRef<Value *> Ops, bool InvertLHS = false) { Value *LHS = getMaskVecValue(CGF, Ops[0], NumElts); Value *RHS = getMaskVecValue(CGF, Ops[1], NumElts); @@ -8301,12 +8301,12 @@ static Value *EmitX86MaskLogic(CodeGenFunction &CGF, Instruction::BinaryOps Opc, } static Value *EmitX86SubVectorBroadcast(CodeGenFunction &CGF, - SmallVectorImpl<Value *> &Ops, + ArrayRef<Value *> Ops, llvm::Type *DstTy, unsigned SrcSizeInBits, unsigned Align) { // Load the subvector. - Ops[0] = CGF.Builder.CreateAlignedLoad(Ops[0], Align); + Value *SubVec = CGF.Builder.CreateAlignedLoad(Ops[0], Align); // Create broadcast mask. unsigned NumDstElts = DstTy->getVectorNumElements(); @@ -8317,7 +8317,7 @@ static Value *EmitX86SubVectorBroadcast(CodeGenFunction &CGF, for (unsigned j = 0; j != NumSrcElts; ++j) Mask.push_back(j); - return CGF.Builder.CreateShuffleVector(Ops[0], Ops[0], Mask, "subvecbcst"); + return CGF.Builder.CreateShuffleVector(SubVec, SubVec, Mask, "subvecbcst"); } static Value *EmitX86Select(CodeGenFunction &CGF, |

