Home | History | Annotate | Download | only in IR

Lines Matching defs:GEP

300   void visitGetElementPtrInst(GetElementPtrInst &GEP);
1849 void Verifier::visitGetElementPtrInst(GetElementPtrInst &GEP) {
1850 Type *TargetTy = GEP.getPointerOperandType()->getScalarType();
1853 "GEP base pointer is not a vector or a vector of pointers", &GEP);
1855 "GEP into unsized type!", &GEP);
1856 Assert1(GEP.getPointerOperandType()->isVectorTy() ==
1857 GEP.getType()->isVectorTy(), "Vector GEP must return a vector value",
1858 &GEP);
1860 SmallVector<Value*, 16> Idxs(GEP.idx_begin(), GEP.idx_end());
1862 GetElementPtrInst::getIndexedType(GEP.getPointerOperandType(), Idxs);
1863 Assert1(ElTy, "Invalid indices for GEP pointer type!", &GEP);
1865 Assert2(GEP.getType()->getScalarType()->isPointerTy() &&
1866 cast<PointerType>(GEP.getType()->getScalarType())->getElementType()
1867 == ElTy, "GEP is not of right type for indices!", &GEP, ElTy);
1869 if (GEP.getPointerOperandType()->isVectorTy()) {
1871 unsigned GepWidth = GEP.getPointerOperandType()->getVectorNumElements();
1872 Assert1(GepWidth == GEP.getType()->getVectorNumElements(),
1873 "Vector GEP result width doesn't match operand's", &GEP);
1877 "Vector GEP must have vector indices!", &GEP);
1879 Assert1(IndexWidth == GepWidth, "Invalid GEP index vector width", &GEP);
1882 visitInstruction(GEP);