Lines Matching full:ci
72 static bool optimizeCallInst(CallInst *CI, bool &ModifiedDT,
143 static void scalarizeMaskedLoad(const DataLayout &DL, CallInst *CI, in scalarizeMaskedLoad() argument
145 Value *Ptr = CI->getArgOperand(0); in scalarizeMaskedLoad()
146 Value *Alignment = CI->getArgOperand(1); in scalarizeMaskedLoad()
147 Value *Mask = CI->getArgOperand(2); in scalarizeMaskedLoad()
148 Value *Src0 = CI->getArgOperand(3); in scalarizeMaskedLoad()
151 VectorType *VecType = cast<FixedVectorType>(CI->getType()); in scalarizeMaskedLoad()
155 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedLoad()
156 Instruction *InsertPt = CI; in scalarizeMaskedLoad()
157 BasicBlock *IfBlock = CI->getParent(); in scalarizeMaskedLoad()
160 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedLoad()
165 CI->replaceAllUsesWith(NewI); in scalarizeMaskedLoad()
166 CI->eraseFromParent(); in scalarizeMaskedLoad()
186 CI->replaceAllUsesWith(VResult); in scalarizeMaskedLoad()
187 CI->eraseFromParent(); in scalarizeMaskedLoad()
249 CI->replaceAllUsesWith(VResult); in scalarizeMaskedLoad()
250 CI->eraseFromParent(); in scalarizeMaskedLoad()
281 static void scalarizeMaskedStore(const DataLayout &DL, CallInst *CI, in scalarizeMaskedStore() argument
283 Value *Src = CI->getArgOperand(0); in scalarizeMaskedStore()
284 Value *Ptr = CI->getArgOperand(1); in scalarizeMaskedStore()
285 Value *Alignment = CI->getArgOperand(2); in scalarizeMaskedStore()
286 Value *Mask = CI->getArgOperand(3); in scalarizeMaskedStore()
293 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedStore()
294 Instruction *InsertPt = CI; in scalarizeMaskedStore()
296 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedStore()
301 CI->eraseFromParent(); in scalarizeMaskedStore()
318 CI->eraseFromParent(); in scalarizeMaskedStore()
371 CI->eraseFromParent(); in scalarizeMaskedStore()
405 static void scalarizeMaskedGather(const DataLayout &DL, CallInst *CI, in scalarizeMaskedGather() argument
407 Value *Ptrs = CI->getArgOperand(0); in scalarizeMaskedGather()
408 Value *Alignment = CI->getArgOperand(1); in scalarizeMaskedGather()
409 Value *Mask = CI->getArgOperand(2); in scalarizeMaskedGather()
410 Value *Src0 = CI->getArgOperand(3); in scalarizeMaskedGather()
412 auto *VecType = cast<FixedVectorType>(CI->getType()); in scalarizeMaskedGather()
415 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedGather()
416 Instruction *InsertPt = CI; in scalarizeMaskedGather()
417 BasicBlock *IfBlock = CI->getParent(); in scalarizeMaskedGather()
421 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedGather()
438 CI->replaceAllUsesWith(VResult); in scalarizeMaskedGather()
439 CI->eraseFromParent(); in scalarizeMaskedGather()
503 CI->replaceAllUsesWith(VResult); in scalarizeMaskedGather()
504 CI->eraseFromParent(); in scalarizeMaskedGather()
535 static void scalarizeMaskedScatter(const DataLayout &DL, CallInst *CI, in scalarizeMaskedScatter() argument
537 Value *Src = CI->getArgOperand(0); in scalarizeMaskedScatter()
538 Value *Ptrs = CI->getArgOperand(1); in scalarizeMaskedScatter()
539 Value *Alignment = CI->getArgOperand(2); in scalarizeMaskedScatter()
540 Value *Mask = CI->getArgOperand(3); in scalarizeMaskedScatter()
549 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedScatter()
550 Instruction *InsertPt = CI; in scalarizeMaskedScatter()
552 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedScatter()
567 CI->eraseFromParent(); in scalarizeMaskedScatter()
620 CI->eraseFromParent(); in scalarizeMaskedScatter()
625 static void scalarizeMaskedExpandLoad(const DataLayout &DL, CallInst *CI, in scalarizeMaskedExpandLoad() argument
627 Value *Ptr = CI->getArgOperand(0); in scalarizeMaskedExpandLoad()
628 Value *Mask = CI->getArgOperand(1); in scalarizeMaskedExpandLoad()
629 Value *PassThru = CI->getArgOperand(2); in scalarizeMaskedExpandLoad()
630 Align Alignment = CI->getParamAlign(0).valueOrOne(); in scalarizeMaskedExpandLoad()
632 auto *VecType = cast<FixedVectorType>(CI->getType()); in scalarizeMaskedExpandLoad()
636 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedExpandLoad()
637 Instruction *InsertPt = CI; in scalarizeMaskedExpandLoad()
638 BasicBlock *IfBlock = CI->getParent(); in scalarizeMaskedExpandLoad()
641 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedExpandLoad()
676 CI->replaceAllUsesWith(VResult); in scalarizeMaskedExpandLoad()
677 CI->eraseFromParent(); in scalarizeMaskedExpandLoad()
751 CI->replaceAllUsesWith(VResult); in scalarizeMaskedExpandLoad()
752 CI->eraseFromParent(); in scalarizeMaskedExpandLoad()
757 static void scalarizeMaskedCompressStore(const DataLayout &DL, CallInst *CI, in scalarizeMaskedCompressStore() argument
760 Value *Src = CI->getArgOperand(0); in scalarizeMaskedCompressStore()
761 Value *Ptr = CI->getArgOperand(1); in scalarizeMaskedCompressStore()
762 Value *Mask = CI->getArgOperand(2); in scalarizeMaskedCompressStore()
763 Align Alignment = CI->getParamAlign(1).valueOrOne(); in scalarizeMaskedCompressStore()
767 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedCompressStore()
768 Instruction *InsertPt = CI; in scalarizeMaskedCompressStore()
769 BasicBlock *IfBlock = CI->getParent(); in scalarizeMaskedCompressStore()
772 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedCompressStore()
794 CI->eraseFromParent(); in scalarizeMaskedCompressStore()
860 CI->eraseFromParent(); in scalarizeMaskedCompressStore()
865 static void scalarizeMaskedVectorHistogram(const DataLayout &DL, CallInst *CI, in scalarizeMaskedVectorHistogram() argument
870 assert(CI->getType()->isVoidTy() && "Histogram with non-void return."); in scalarizeMaskedVectorHistogram()
871 Value *Ptrs = CI->getArgOperand(0); in scalarizeMaskedVectorHistogram()
872 Value *Inc = CI->getArgOperand(1); in scalarizeMaskedVectorHistogram()
873 Value *Mask = CI->getArgOperand(2); in scalarizeMaskedVectorHistogram()
878 IRBuilder<> Builder(CI->getContext()); in scalarizeMaskedVectorHistogram()
879 Instruction *InsertPt = CI; in scalarizeMaskedVectorHistogram()
882 Builder.SetCurrentDebugLocation(CI->getDebugLoc()); in scalarizeMaskedVectorHistogram()
897 CI->eraseFromParent(); in scalarizeMaskedVectorHistogram()
924 CI->eraseFromParent(); in scalarizeMaskedVectorHistogram()
981 if (CallInst *CI = dyn_cast<CallInst>(&*CurInstIterator++)) in optimizeBlock() local
982 MadeChange |= optimizeCallInst(CI, ModifiedDT, TTI, DL, DTU); in optimizeBlock()
990 static bool optimizeCallInst(CallInst *CI, bool &ModifiedDT, in optimizeCallInst() argument
993 IntrinsicInst *II = dyn_cast<IntrinsicInst>(CI); in optimizeCallInst()
1005 if (TTI.isLegalMaskedVectorHistogram(CI->getArgOperand(0)->getType(), in optimizeCallInst()
1006 CI->getArgOperand(1)->getType())) in optimizeCallInst()
1008 scalarizeMaskedVectorHistogram(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1013 CI->getType(), in optimizeCallInst()
1014 cast<ConstantInt>(CI->getArgOperand(1))->getAlignValue())) in optimizeCallInst()
1016 scalarizeMaskedLoad(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1020 CI->getArgOperand(0)->getType(), in optimizeCallInst()
1021 cast<ConstantInt>(CI->getArgOperand(2))->getAlignValue())) in optimizeCallInst()
1023 scalarizeMaskedStore(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1027 cast<ConstantInt>(CI->getArgOperand(1))->getMaybeAlignValue(); in optimizeCallInst()
1028 Type *LoadTy = CI->getType(); in optimizeCallInst()
1034 scalarizeMaskedGather(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1039 cast<ConstantInt>(CI->getArgOperand(2))->getMaybeAlignValue(); in optimizeCallInst()
1040 Type *StoreTy = CI->getArgOperand(0)->getType(); in optimizeCallInst()
1047 scalarizeMaskedScatter(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1052 CI->getType(), in optimizeCallInst()
1053 CI->getAttributes().getParamAttrs(0).getAlignment().valueOrOne())) in optimizeCallInst()
1055 scalarizeMaskedExpandLoad(DL, CI, DTU, ModifiedDT); in optimizeCallInst()
1059 CI->getArgOperand(0)->getType(), in optimizeCallInst()
1060 CI->getAttributes().getParamAttrs(1).getAlignment().valueOrOne())) in optimizeCallInst()
1062 scalarizeMaskedCompressStore(DL, CI, DTU, ModifiedDT); in optimizeCallInst()