/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | InstSimplifyFolder.h | 79 Value *FoldGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, in FoldGEP() argument 81 return simplifyGEPInst(Ty, Ptr, IdxList, NW, SQ); in FoldGEP() 89 ArrayRef<unsigned> IdxList) const override { in FoldExtractValue() argument 90 return simplifyExtractValueInst(Agg, IdxList, SQ); in FoldExtractValue() 94 ArrayRef<unsigned> IdxList) const override { in FoldInsertValue() argument 95 return simplifyInsertValueInst(Agg, Val, IdxList, SQ); in FoldInsertValue()
|
H A D | TargetFolder.h | 117 Value *FoldGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, in FoldGEP() argument 124 if (any_of(IdxList, [](Value *V) { return !isa<Constant>(V); })) in FoldGEP() 126 return Fold(ConstantExpr::getGetElementPtr(Ty, PC, IdxList, NW)); in FoldGEP() 142 ArrayRef<unsigned> IdxList) const override { in FoldExtractValue() argument 144 return ConstantFoldExtractValueInstruction(CAgg, IdxList); in FoldExtractValue() 149 ArrayRef<unsigned> IdxList) const override { in FoldInsertValue() argument 153 return ConstantFoldInsertValueInstruction(CAgg, CVal, IdxList); in FoldInsertValue()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
H A D | ConstantFolder.h | 106 Value *FoldGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, in FoldGEP() argument 113 if (any_of(IdxList, [](Value *V) { return !isa<Constant>(V); })) in FoldGEP() 116 return ConstantExpr::getGetElementPtr(Ty, PC, IdxList, NW); in FoldGEP() 131 ArrayRef<unsigned> IdxList) const override { in FoldExtractValue() argument 133 return ConstantFoldExtractValueInstruction(CAgg, IdxList); in FoldExtractValue() 138 ArrayRef<unsigned> IdxList) const override { in FoldInsertValue() argument 142 return ConstantFoldInsertValueInstruction(CAgg, CVal, IdxList); in FoldInsertValue()
|
H A D | IRBuilderFolder.h | 55 virtual Value *FoldGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, 61 ArrayRef<unsigned> IdxList) const = 0; 64 ArrayRef<unsigned> IdxList) const = 0;
|
H A D | NoFolder.h | 77 Value *FoldGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, in FoldGEP() argument 87 ArrayRef<unsigned> IdxList) const override { in FoldExtractValue() argument 92 ArrayRef<unsigned> IdxList) const override { in FoldInsertValue() argument
|
H A D | Constants.h | 1240 getGetElementPtr(Type *Ty, Constant *C, ArrayRef<Constant *> IdxList, 1245 Ty, C, ArrayRef((Value *const *)IdxList.data(), IdxList.size()), NW, 1260 getGetElementPtr(Type *Ty, Constant *C, ArrayRef<Value *> IdxList, 1268 ArrayRef<Constant *> IdxList) { 1269 return getGetElementPtr(Ty, C, IdxList, GEPNoWrapFlags::inBounds()); 1279 ArrayRef<Value *> IdxList) { 1280 return getGetElementPtr(Ty, C, IdxList, GEPNoWrapFlags::inBounds());
|
H A D | Instructions.h | 926 ArrayRef<Value *> IdxList, unsigned Values, 929 void init(Value *Ptr, ArrayRef<Value *> IdxList, const Twine &NameStr); 939 ArrayRef<Value *> IdxList, 942 unsigned Values = 1 + unsigned(IdxList.size()); 944 return new (Values) GetElementPtrInst(PointeeType, Ptr, IdxList, Values, 949 ArrayRef<Value *> IdxList, GEPNoWrapFlags NW, 953 Create(PointeeType, Ptr, IdxList, NameStr, InsertBefore); 961 CreateInBounds(Type *PointeeType, Value *Ptr, ArrayRef<Value *> IdxList, 964 return Create(PointeeType, Ptr, IdxList, GEPNoWrapFlags::inBounds(), 992 static Type *getIndexedType(Type *Ty, ArrayRef<Value *> IdxList); [all …]
|
H A D | IRBuilder.h | 1871 Value *CreateGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, 1874 if (auto *V = Folder.FoldGEP(Ty, Ptr, IdxList, NW)) 1876 return Insert(GetElementPtrInst::Create(Ty, Ptr, IdxList, NW), Name); 1879 Value *CreateInBoundsGEP(Type *Ty, Value *Ptr, ArrayRef<Value *> IdxList, 1881 return CreateGEP(Ty, Ptr, IdxList, Name, GEPNoWrapFlags::inBounds());
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGBuilder.h | 335 Address CreateGEP(Address Addr, ArrayRef<llvm::Value *> IdxList, 339 return RawAddress(CreateGEP(Addr.getElementType(), Ptr, IdxList, Name), 344 Address CreateInBoundsGEP(Address Addr, ArrayRef<llvm::Value *> IdxList, 349 IdxList, Name),
|
H A D | CGExprScalar.cpp | 5721 ArrayRef<Value *> IdxList, in EmitCheckedInBoundsGEP() argument 5725 Value *GEPVal = Builder.CreateInBoundsGEP(ElemTy, Ptr, IdxList, Name); in EmitCheckedInBoundsGEP() 5837 Address Addr, ArrayRef<Value *> IdxList, llvm::Type *elementType, in EmitCheckedInBoundsGEP() argument 5841 return Builder.CreateInBoundsGEP(Addr, IdxList, elementType, Align, Name); in EmitCheckedInBoundsGEP() 5845 IdxList, SignedIndices, IsSubtraction, Loc, Name), in EmitCheckedInBoundsGEP()
|
H A D | CodeGenFunction.h | 5048 ArrayRef<llvm::Value *> IdxList, 5054 Address EmitCheckedInBoundsGEP(Address Addr, ArrayRef<llvm::Value *> IdxList,
|
/freebsd/contrib/llvm-project/llvm/lib/IR/ |
H A D | ConstantsContext.h | 193 ArrayRef<Constant *> IdxList, Type *DestTy, 198 Create(Type *SrcElementTy, Constant *C, ArrayRef<Constant *> IdxList, in Create() argument 200 GetElementPtrConstantExpr *Result = new (IdxList.size() + 1) in Create() 201 GetElementPtrConstantExpr(SrcElementTy, C, IdxList, DestTy, in Create()
|
H A D | Instructions.cpp | 1456 void GetElementPtrInst::init(Value *Ptr, ArrayRef<Value *> IdxList, in init() argument 1458 assert(getNumOperands() == 1 + IdxList.size() && in init() 1461 llvm::copy(IdxList, op_begin() + 1); in init() 1505 static Type *getIndexedTypeInternal(Type *Ty, ArrayRef<IndexTy> IdxList) { in getIndexedTypeInternal() argument 1506 if (IdxList.empty()) in getIndexedTypeInternal() 1508 for (IndexTy V : IdxList.slice(1)) { in getIndexedTypeInternal() 1516 Type *GetElementPtrInst::getIndexedType(Type *Ty, ArrayRef<Value *> IdxList) { in getIndexedType() argument 1517 return getIndexedTypeInternal(Ty, IdxList); in getIndexedType() 1521 ArrayRef<Constant *> IdxList) { in getIndexedType() argument 1522 return getIndexedTypeInternal(Ty, IdxList); in getIndexedType() [all …]
|
H A D | Core.cpp | 1826 ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices), in LLVMConstGEP2() local 1829 return wrap(ConstantExpr::getGetElementPtr(unwrap(Ty), Val, IdxList)); in LLVMConstGEP2() 1835 ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices), in LLVMConstInBoundsGEP2() local 1838 return wrap(ConstantExpr::getInBoundsGetElementPtr(unwrap(Ty), Val, IdxList)); in LLVMConstInBoundsGEP2() 1846 ArrayRef<Constant *> IdxList(unwrap<Constant>(ConstantIndices, NumIndices), in LLVMConstGEPWithNoWrapFlags() local 1850 unwrap(Ty), Val, IdxList, mapFromLLVMGEPNoWrapFlags(NoWrapFlags))); in LLVMConstGEPWithNoWrapFlags() 3964 ArrayRef<Value *> IdxList(unwrap(Indices), NumIndices); in LLVMBuildGEP2() local 3965 return wrap(unwrap(B)->CreateGEP(unwrap(Ty), unwrap(Pointer), IdxList, Name)); in LLVMBuildGEP2() 3971 ArrayRef<Value *> IdxList(unwrap(Indices), NumIndices); in LLVMBuildInBoundsGEP2() local 3973 unwrap(B)->CreateInBoundsGEP(unwrap(Ty), unwrap(Pointer), IdxList, Name)); in LLVMBuildInBoundsGEP2() [all …]
|
H A D | Constants.cpp | 2749 Type *SrcElementTy, Constant *C, ArrayRef<Constant *> IdxList, Type *DestTy, in GetElementPtrConstantExpr() argument 2753 (IdxList.size() + 1), in GetElementPtrConstantExpr() 2754 IdxList.size() + 1), in GetElementPtrConstantExpr() 2756 ResElementTy(GetElementPtrInst::getIndexedType(SrcElementTy, IdxList)), in GetElementPtrConstantExpr() 2760 for (unsigned i = 0, E = IdxList.size(); i != E; ++i) in GetElementPtrConstantExpr() 2761 OperandList[i+1] = IdxList[i]; in GetElementPtrConstantExpr()
|
H A D | IRBuilder.cpp | 1222 SmallVector<Value *, 4> IdxList(Dimension, Zero); in CreatePreserveArrayAccessIndex() local 1223 IdxList.push_back(LastIndexV); in CreatePreserveArrayAccessIndex() 1225 Type *ResultType = GetElementPtrInst::getGEPReturnType(Base, IdxList); in CreatePreserveArrayAccessIndex()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/ |
H A D | BPFAbstractMemberAccess.cpp | 424 SmallVector<Value *, 4> IdxList; in replaceWithGEP() local 426 IdxList.push_back(Zero); in replaceWithGEP() 427 IdxList.push_back(Call->getArgOperand(GEPIndex)); in replaceWithGEP() 430 Call->getArgOperand(0), IdxList, in replaceWithGEP()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonCommonGEP.cpp | 1092 SmallVector<Value*, 4> IdxList; in fabricateGEP() local 1098 IdxList.push_back(ConstantInt::get(Int32Ty, 0)); in fabricateGEP() 1105 IdxList.push_back(N->Idx); in fabricateGEP() 1112 NewInst = GetElementPtrInst::Create(InpTy, Input, IdxList, "cgep", At); in fabricateGEP()
|
/freebsd/contrib/llvm-project/llvm/utils/TableGen/ |
H A D | RegisterInfoEmitter.cpp | 1320 typedef std::vector<const CodeGenSubRegIndex *> IdxList; in runTargetDesc() typedef 1321 SmallVector<IdxList, 8> SuperRegIdxLists(RegisterClasses.size()); in runTargetDesc() 1322 SequenceToOffsetTable<IdxList, deref<std::less<>>> SuperRegIdxSeqs; in runTargetDesc() 1332 IdxList &SRIList = SuperRegIdxLists[RC.EnumValue]; in runTargetDesc()
|