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