Home
last modified time | relevance | path

Searched refs:GetElementPtrInst (Results 1 – 25 of 161) sorted by relevance

1234567

/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/BPF/
H A DBPFPreserveStaticOffset.cpp194 SmallVector<GetElementPtrInst *> Members;
302 std::pair<GetElementPtrInst *, LoadInst *>
304 GetElementPtrInst *GEP = reconstructGEP(Call, 0); in reconstructLoad()
313 std::pair<GetElementPtrInst *, StoreInst *>
336 if (!all_of(GEPs, [=](GetElementPtrInst *GEP) { in foldGEPChainAsStructAccess()
341 GetElementPtrInst *First = GEPs[0]; in foldGEPChainAsStructAccess()
349 GetElementPtrInst *GEP = *Iter; in foldGEPChainAsStructAccess()
376 GetElementPtrInst *First = GEPs[0]; in foldGEPChainAsU8Access()
381 for (GetElementPtrInst *GEP : GEPs) { in foldGEPChainAsU8Access()
440 if (auto *GEP = dyn_cast<GetElementPtrInst>(U)) in isPointerOperand()
[all …]
H A DBPF.h84 static std::pair<GetElementPtrInst *, LoadInst *>
87 static std::pair<GetElementPtrInst *, StoreInst *>
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DNaryReassociate.h93 class GetElementPtrInst; variable
120 Instruction *tryReassociateGEP(GetElementPtrInst *GEP);
129 GetElementPtrInst *tryReassociateGEPAtIndex(GetElementPtrInst *GEP,
134 GetElementPtrInst *tryReassociateGEPAtIndex(GetElementPtrInst *GEP,
178 bool requiresSignExtension(Value *Index, GetElementPtrInst *GEP);
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSeparateConstOffsetFromGEP.cpp237 static Value *Extract(Value *Idx, GetElementPtrInst *GEP,
243 static int64_t Find(Value *Idx, GetElementPtrInst *GEP,
394 bool splitGEP(GetElementPtrInst *GEP);
403 void lowerToSingleIndexGEPs(GetElementPtrInst *Variadic,
413 void lowerToArithmetics(GetElementPtrInst *Variadic,
465 void swapGEPOperand(GetElementPtrInst *First, GetElementPtrInst *Second);
468 bool isLegalToSwapOperand(GetElementPtrInst *First, GetElementPtrInst *Second,
808 GetElementPtrInst *GEP) { in canonicalizeArrayIndicesToIndexSize()
916 auto *SecondGEP = dyn_cast<GetElementPtrInst>(ResultPtr); in lowerToSingleIndexGEPs()
1143 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I)) in run()
[all …]
H A DNaryReassociate.cpp308 return tryReassociateGEP(cast<GetElementPtrInst>(I)); in tryReassociate()
328 static bool isGEPFoldable(GetElementPtrInst *GEP, in isGEPFoldable()
335 Instruction *NaryReassociatePass::tryReassociateGEP(GetElementPtrInst *GEP) { in tryReassociateGEP()
353 GetElementPtrInst *GEP) { in requiresSignExtension()
359 GetElementPtrInst *
360 NaryReassociatePass::tryReassociateGEPAtIndex(GetElementPtrInst *GEP, in tryReassociateGEPAtIndex()
394 GetElementPtrInst *
395 NaryReassociatePass::tryReassociateGEPAtIndex(GetElementPtrInst *GEP, in tryReassociateGEPAtIndex()
459 GetElementPtrInst *NewGEP = cast<GetElementPtrInst>( in tryReassociateGEPAtIndex()
H A DStraightLineStrengthReduce.cpp213 void allocateCandidatesAndFindBasisForGEP(GetElementPtrInst *GEP);
234 GetElementPtrInst *GEP);
281 static bool isGEPFoldable(GetElementPtrInst *GEP, in isGEPFoldable()
303 return isGEPFoldable(cast<GetElementPtrInst>(C.Ins), TTI); in isFoldable()
308 static bool hasOnlyOneNonZeroIndex(GetElementPtrInst *GEP) { in hasOnlyOneNonZeroIndex()
330 hasOnlyOneNonZeroIndex(cast<GetElementPtrInst>(C.Ins))); in isSimplestForm()
388 allocateCandidatesAndFindBasisForGEP(cast<GetElementPtrInst>(I)); in allocateCandidatesAndFindBasis()
492 GetElementPtrInst *GEP) { in factorArrayIndex()
525 GetElementPtrInst *GEP) { in allocateCandidatesAndFindBasisForGEP()
657 bool InBounds = cast<GetElementPtrInst>(C.Ins)->isInBounds(); in rewriteCandidateWithBasis()
H A DGVNHoist.cpp905 if (const GetElementPtrInst *GepOp = in allGepOperandsAvailable()
906 dyn_cast<GetElementPtrInst>(Inst)) { in allGepOperandsAvailable()
933 if (GetElementPtrInst *GepOp = dyn_cast<GetElementPtrInst>(Op)) in makeGepsAvailable()
947 const GetElementPtrInst *OtherGep; in makeGepsAvailable()
951 OtherGep = cast<GetElementPtrInst>( in makeGepsAvailable()
1040 GetElementPtrInst *Gep = nullptr; in makeGepOperandsAvailable()
1043 Gep = dyn_cast<GetElementPtrInst>(Ld->getPointerOperand()); in makeGepOperandsAvailable()
1045 Gep = dyn_cast<GetElementPtrInst>(St->getPointerOperand()); in makeGepOperandsAvailable()
1049 if (isa<GetElementPtrInst>(Val)) { in makeGepOperandsAvailable()
1064 if (Val && isa<GetElementPtrInst>(Val)) in makeGepOperandsAvailable()
[all …]
H A DMergedLoadStoreMotion.cpp234 auto *GEP0 = dyn_cast<GetElementPtrInst>(S0->getPointerOperand()); in canSinkStoresAndGEPs()
235 auto *GEP1 = dyn_cast<GetElementPtrInst>(S1->getPointerOperand()); in canSinkStoresAndGEPs()
279 auto *GEP0 = cast<GetElementPtrInst>(Ptr0); in sinkStoresAndGEPs()
280 auto *GEP1 = cast<GetElementPtrInst>(Ptr1); in sinkStoresAndGEPs()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/
H A DPHITransAddr.cpp29 if (isa<PHINode>(Inst) || isa<GetElementPtrInst>(Inst) || isa<CastInst>(Inst)) in canPHITrans()
200 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) { in translateSubExpr()
227 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(U)) in translateSubExpr()
379 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Inst)) { in insertTranslatedSubExpr()
388 GetElementPtrInst *Result = GetElementPtrInst::Create( in insertTranslatedSubExpr()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64LoopIdiomTransform.cpp102 GetElementPtrInst *GEPA, GetElementPtrInst *GEPB,
104 void transformByteCompare(GetElementPtrInst *GEPA, GetElementPtrInst *GEPB,
315 GetElementPtrInst *GEPA = dyn_cast<GetElementPtrInst>(A); in recognizeByteCompare()
316 GetElementPtrInst *GEPB = dyn_cast<GetElementPtrInst>(B); in recognizeByteCompare()
391 IRBuilder<> &Builder, DomTreeUpdater &DTU, GetElementPtrInst *GEPA, in expandFindMismatch()
392 GetElementPtrInst *GEPB, Instruction *Index, Value *Start, Value *MaxLen) { in expandFindMismatch()
585 cast<GetElementPtrInst>(SVELhsGep)->setIsInBounds(true); in expandFindMismatch()
591 cast<GetElementPtrInst>(SVERhsGep)->setIsInBounds(true); in expandFindMismatch()
669 cast<GetElementPtrInst>(LhsGep)->setIsInBounds(true); in expandFindMismatch()
674 cast<GetElementPtrInst>(RhsGep)->setIsInBounds(true); in expandFindMismatch()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DShadowStackGCLowering.cpp80 static GetElementPtrInst *CreateGEP(LLVMContext &Context, IRBuilder<> &B,
83 static GetElementPtrInst *CreateGEP(LLVMContext &Context, IRBuilder<> &B,
303 GetElementPtrInst *
312 assert(isa<GetElementPtrInst>(Val) && "Unexpected folded constant"); in CreateGEP()
314 return dyn_cast<GetElementPtrInst>(Val); in CreateGEP()
317 GetElementPtrInst *ShadowStackGCLoweringImpl::CreateGEP(LLVMContext &Context, in CreateGEP()
326 assert(isa<GetElementPtrInst>(Val) && "Unexpected folded constant"); in CreateGEP()
328 return dyn_cast<GetElementPtrInst>(Val); in CreateGEP()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DRelLookupTableConverter.cpp36 GetElementPtrInst *GEP = in shouldConvertToRelLookupTable()
37 dyn_cast<GetElementPtrInst>(GV.use_begin()->getUser()); in shouldConvertToRelLookupTable()
131 GetElementPtrInst *GEP = in convertToRelLookupTable()
132 cast<GetElementPtrInst>(LookupTable.use_begin()->getUser()); in convertToRelLookupTable()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DDelinearization.h24 class GetElementPtrInst; variable
124 const GetElementPtrInst *GEP,
H A DPtrUseVisitor.h167 bool adjustOffsetForGEP(GetElementPtrInst &GEPI);
259 void visitGetElementPtrInst(GetElementPtrInst &GEPI) { in visitGetElementPtrInst()
H A DObjCARCAnalysisUtils.h141 (isa<GetElementPtrInst>(I) && in IsNoopInstruction()
142 cast<GetElementPtrInst>(I)->hasAllZeroIndices()); in IsNoopInstruction()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp94 if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { in isOnlyCopiedFromConstantMemory()
335 } else if (isa<GetElementPtrInst, BitCastInst>(Inst)) { in collectUsersRecursive()
382 } else if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { in replace()
388 GetElementPtrInst::Create(GEP->getSourceElementType(), V, Indices); in replace()
899 auto FirstNZIdx = [](const GetElementPtrInst *GEPI) { in canReplaceGEPIdxWithZero()
928 Type *AllocTy = GetElementPtrInst::getIndexedType(SourceElementType, Ops); in canReplaceGEPIdxWithZero()
968 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(Ptr)) { in replaceGEPIdxWithZero()
987 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(Ptr)) in canSimplifyNullStoreOrGEP()
994 if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(Op)) { in canSimplifyNullLoadOrGEP()
1347 isa<GetElementPtrInst>(A)) in equivalentAddressValues()
[all …]
H A DInstCombinePHI.cpp124 } else if (GetElementPtrInst *GI = dyn_cast<GetElementPtrInst>(U)) { in foldIntegerTypedPHI()
503 GetElementPtrInst *FirstInst =cast<GetElementPtrInst>(PN.getIncomingValue(0)); in foldPHIArgGEPIntoPHI()
520 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V); in foldPHIArgGEPIntoPHI()
597 GetElementPtrInst *InGEP = cast<GetElementPtrInst>(InVal); in foldPHIArgGEPIntoPHI()
606 GetElementPtrInst *NewGEP = in foldPHIArgGEPIntoPHI()
607 GetElementPtrInst::Create(FirstInst->getSourceElementType(), Base, in foldPHIArgGEPIntoPHI()
657 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(L->getOperand(0))) in isSafeAndProfitableToSinkLoad()
872 if (isa<GetElementPtrInst>(FirstInst)) in foldPHIArgOpIntoPHI()
1444 isa<GetElementPtrInst>(PHIUser)) && in visitPHINode()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DMVEGatherScatterLowering.cpp96 GetElementPtrInst *GEP, IRBuilder<> &Builder);
148 Value *foldGEP(GetElementPtrInst *GEP, Value *&Offsets, unsigned &Scale,
231 if (auto *GEP = dyn_cast<GetElementPtrInst>(Ptr)) { in decomposePtr()
256 GetElementPtrInst *GEP, in decomposeGEP()
744 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr); in tryCreateIncrementingGatScat()
949 if (isa<GetElementPtrInst>(U) || in hasAllGatScatUsers()
1182 Value *MVEGatherScatterLowering::foldGEP(GetElementPtrInst *GEP, in foldGEP()
1192 if (GetElementPtrInst *BaseGEP = dyn_cast<GetElementPtrInst>(GEPPtr)) { in foldGEP()
1210 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Address); in optimiseAddress()
1214 if (GEP->hasOneUse() && isa<GetElementPtrInst>(GEP->getPointerOperand())) { in optimiseAddress()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SPIRV/
H A DSPIRVEmitIntrinsics.cpp90 Instruction *visitGetElementPtrInst(GetElementPtrInst &I);
133 if (isa<AllocaInst>(I) || isa<GetElementPtrInst>(I)) in requireAssignPtrType()
246 Instruction *SPIRVEmitIntrinsics::visitGetElementPtrInst(GetElementPtrInst &I) { in visitGetElementPtrInst()
293 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(I)) { in insertPtrCastInstr()
318 GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(Pointer); in insertPtrCastInstr()
535 } else if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { in insertAssignPtrTypeIntrs()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/NVPTX/
H A DNVPTXLowerArgs.cpp184 if (auto *GEP = dyn_cast<GetElementPtrInst>(I.OldInstruction)) { in INITIALIZE_PASS_DEPENDENCY()
186 auto *NewGEP = GetElementPtrInst::Create(GEP->getSourceElementType(), in INITIALIZE_PASS_DEPENDENCY()
289 if (auto *I = dyn_cast<GetElementPtrInst>(CurUser)) { in adjustByValArgAlignment()
326 if (isa<GetElementPtrInst>(V) || isa<BitCastInst>(V) || isa<LoadInst>(V)) in handleByValParam()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DFunctionComparator.h344 int cmpGEPs(const GetElementPtrInst *GEPL, in cmpGEPs()
345 const GetElementPtrInst *GEPR) const { in cmpGEPs()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonCommonGEP.cpp124 bool isHandledGepForm(GetElementPtrInst *GepI);
125 void processGepInst(GetElementPtrInst *GepI, ValueToNodeMap &NM);
335 bool HexagonCommonGEP::isHandledGepForm(GetElementPtrInst *GepI) { in isHandledGepForm()
345 void HexagonCommonGEP::processGepInst(GetElementPtrInst *GepI, in processGepInst()
372 if (isa<GetElementPtrInst>(*UI)) { in processGepInst()
373 GetElementPtrInst *UserG = cast<GetElementPtrInst>(*UI); in processGepInst()
397 PtrTy = GetElementPtrInst::getTypeAtIndex(PtrTy, Op); in processGepInst()
423 if (auto *GepI = dyn_cast<GetElementPtrInst>(&J)) in collect()
1086 GetElementPtrInst *NewInst = nullptr; in fabricateGEP()
1112 NewInst = GetElementPtrInst::Create(InpTy, Input, IdxList, "cgep", &*At); in fabricateGEP()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DSLPVectorizer.h35 class GetElementPtrInst; variable
60 using GEPList = SmallVector<GetElementPtrInst *, 8>;
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DAMDGPUPrintfRuntimeBinding.cpp317 GetElementPtrInst *BufferIdx = GetElementPtrInst::Create( in lowerPrintfForGpu()
328 BufferIdx = GetElementPtrInst::Create(I8Ty, pcall, in lowerPrintfForGpu()
414 BufferIdx = GetElementPtrInst::Create( in lowerPrintfForGpu()
H A DAMDGPUPromoteAlloca.cpp290 const std::map<GetElementPtrInst *, Value *> &GEPIdx) { in calculateVectorIndex() argument
291 auto *GEP = dyn_cast<GetElementPtrInst>(Ptr->stripPointerCasts()); in calculateVectorIndex()
300 static Value *GEPToVectorIndex(GetElementPtrInst *GEP, AllocaInst *Alloca, in GEPToVectorIndex()
352 std::map<GetElementPtrInst *, Value *> &GEPVectorIdx, Value *CurVal, in promoteAllocaUserToVector() argument
666 std::map<GetElementPtrInst *, Value *> GEPVectorIdx; in tryPromoteAllocaToVector()
731 if (auto *GEP = dyn_cast<GetElementPtrInst>(Inst)) { in tryPromoteAllocaToVector()
767 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr); in tryPromoteAllocaToVector()
1133 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(UseInst)) { in collectUsesWithPtrTypes()

1234567