reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
3274 Type *TargetTy = GEP.getPointerOperandType()->getScalarType(); 3277 "GEP base pointer is not a vector or a vector of pointers", &GEP); 3278 Assert(GEP.getSourceElementType()->isSized(), "GEP into unsized type!", &GEP); 3278 Assert(GEP.getSourceElementType()->isSized(), "GEP into unsized type!", &GEP); 3280 SmallVector<Value*, 16> Idxs(GEP.idx_begin(), GEP.idx_end()); 3280 SmallVector<Value*, 16> Idxs(GEP.idx_begin(), GEP.idx_end()); 3283 "GEP indexes must be integers", &GEP); 3285 GetElementPtrInst::getIndexedType(GEP.getSourceElementType(), Idxs); 3286 Assert(ElTy, "Invalid indices for GEP pointer type!", &GEP); 3288 Assert(GEP.getType()->isPtrOrPtrVectorTy() && 3289 GEP.getResultElementType() == ElTy, 3290 "GEP is not of right type for indices!", &GEP, ElTy); 3292 if (GEP.getType()->isVectorTy()) { 3294 unsigned GEPWidth = GEP.getType()->getVectorNumElements(); 3295 if (GEP.getPointerOperandType()->isVectorTy()) 3296 Assert(GEPWidth == GEP.getPointerOperandType()->getVectorNumElements(), 3297 "Vector GEP result width doesn't match operand's", &GEP); 3302 Assert(IndexWidth == GEPWidth, "Invalid GEP index vector width", &GEP); 3309 if (auto *PTy = dyn_cast<PointerType>(GEP.getType())) { 3310 Assert(GEP.getAddressSpace() == PTy->getAddressSpace(), 3311 "GEP address space doesn't match type", &GEP); 3314 visitInstruction(GEP);