Lines Matching defs:Variadic
404 /// \p Variadic The variadic part of the original GEP.
406 void lowerToSingleIndexGEPs(GetElementPtrInst *Variadic,
414 /// \p Variadic The variadic part of the original GEP.
416 void lowerToArithmetics(GetElementPtrInst *Variadic,
863 GetElementPtrInst *Variadic, int64_t AccumulativeByteOffset) {
864 IRBuilder<> Builder(Variadic);
865 Type *PtrIndexTy = DL->getIndexType(Variadic->getType());
867 Value *ResultPtr = Variadic->getOperand(0);
868 Loop *L = LI->getLoopFor(Variadic->getParent());
875 gep_type_iterator GTI = gep_type_begin(*Variadic);
878 for (unsigned I = 1, E = Variadic->getNumOperands(); I != E; ++I, ++GTI) {
880 Value *Idx = Variadic->getOperand(I);
920 Variadic->replaceAllUsesWith(ResultPtr);
921 Variadic->eraseFromParent();
925 SeparateConstOffsetFromGEP::lowerToArithmetics(GetElementPtrInst *Variadic,
927 IRBuilder<> Builder(Variadic);
928 Type *IntPtrTy = DL->getIntPtrType(Variadic->getType());
929 assert(IntPtrTy == DL->getIndexType(Variadic->getType()) &&
933 Value *ResultPtr = Builder.CreatePtrToInt(Variadic->getOperand(0), IntPtrTy);
934 gep_type_iterator GTI = gep_type_begin(*Variadic);
938 for (unsigned I = 1, E = Variadic->getNumOperands(); I != E; ++I, ++GTI) {
940 Value *Idx = Variadic->getOperand(I);
968 ResultPtr = Builder.CreateIntToPtr(ResultPtr, Variadic->getType());
969 Variadic->replaceAllUsesWith(ResultPtr);
970 Variadic->eraseFromParent();