Searched defs:GEPI (Results 1 - 8 of 8) sorted by relevance

/external/llvm/lib/Analysis/
H A DPtrUseVisitor.cpp30 bool detail::PtrUseVisitorBase::adjustOffsetForGEP(GetElementPtrInst &GEPI) { argument
34 return GEPI.accumulateConstantOffset(DL, Offset);
/external/llvm/include/llvm/Analysis/
H A DPtrUseVisitor.h163 bool adjustOffsetForGEP(GetElementPtrInst &GEPI);
246 void visitGetElementPtrInst(GetElementPtrInst &GEPI) { argument
247 if (GEPI.use_empty())
251 if (!adjustOffsetForGEP(GEPI)) {
257 enqueueUsers(GEPI);
/external/llvm/lib/Transforms/InstCombine/
H A DInstCombineLoadStoreAlloca.cpp584 static bool canReplaceGEPIdxWithZero(InstCombiner &IC, GetElementPtrInst *GEPI, argument
586 if (GEPI->getNumOperands() < 2)
591 auto FirstNZIdx = [](const GetElementPtrInst *GEPI) {
593 for (unsigned IE = GEPI->getNumOperands(); I != IE; ++I) {
594 Value *V = GEPI->getOperand(I);
607 Idx = FirstNZIdx(GEPI);
608 if (Idx == GEPI->getNumOperands())
610 if (isa<Constant>(GEPI->getOperand(Idx)))
613 SmallVector<Value *, 4> Ops(GEPI->idx_begin(), GEPI
[all...]
/external/llvm/lib/Transforms/Scalar/
H A DScalarizer.cpp430 bool Scalarizer::visitGetElementPtrInst(GetElementPtrInst &GEPI) { argument
431 VectorType *VT = dyn_cast<VectorType>(GEPI.getType());
435 IRBuilder<> Builder(GEPI.getParent(), &GEPI);
437 unsigned NumIndices = GEPI.getNumIndices();
439 Scatterer Base = scatter(&GEPI, GEPI.getOperand(0));
444 Ops[I] = scatter(&GEPI, GEPI.getOperand(I + 1));
453 Res[I] = Builder.CreateGEP(GEPI
[all...]
H A DScalarReplAggregates.cpp157 void isSafeGEP(GetElementPtrInst *GEPI, uint64_t &Offset, AllocaInfo &Info);
174 void RewriteGEP(GetElementPtrInst *GEPI, AllocaInst *AI, uint64_t Offset,
1617 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(User)) {
1619 isSafeGEP(GEPI, GEPOffset, Info);
1621 isSafeForScalarRepl(GEPI, GEPOffset, Info);
1683 } else if (GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(UI)) {
1687 if (!GEPI->hasAllZeroIndices())
1689 isSafePHISelectUseForScalarRepl(GEPI, Offset, Info);
1721 void SROA::isSafeGEP(GetElementPtrInst *GEPI, argument
1723 gep_type_iterator GEPIt = gep_type_begin(GEPI),
2055 RewriteGEP(GetElementPtrInst *GEPI, AllocaInst *AI, uint64_t Offset, SmallVectorImpl<AllocaInst *> &NewElts) argument
[all...]
/external/llvm/lib/IR/
H A DInstructions.cpp1252 GetElementPtrInst::GetElementPtrInst(const GetElementPtrInst &GEPI) argument
1253 : Instruction(GEPI.getType(), GetElementPtr,
1255 - GEPI.getNumOperands(),
1256 GEPI.getNumOperands()) {
1257 std::copy(GEPI.op_begin(), GEPI.op_end(), op_begin());
1258 SubclassOptionalData = GEPI.SubclassOptionalData;
/external/llvm/lib/Transforms/IPO/
H A DGlobalOpt.cpp374 GetElementPtrInst *GEPI = dyn_cast<GetElementPtrInst>(I);
375 if (!GEPI) return false;
377 if (GEPI->getNumOperands() < 3 || !isa<Constant>(GEPI->getOperand(1)) ||
378 !cast<Constant>(GEPI->getOperand(1))->isNullValue())
381 for (User *U : GEPI->users())
407 gep_type_iterator GEPI = gep_type_begin(U), E = gep_type_end(U);
408 ++GEPI; // Skip over the pointer index.
411 if (ArrayType *AT = dyn_cast<ArrayType>(*GEPI)) {
428 for (++GEPI; // Ski
580 GetElementPtrInst *GEPI = cast<GetElementPtrInst>(GEP); local
[all...]
/external/llvm/lib/Transforms/Instrumentation/
H A DDataFlowSanitizer.cpp332 void visitGetElementPtrInst(GetElementPtrInst &GEPI);
1265 void DFSanVisitor::visitGetElementPtrInst(GetElementPtrInst &GEPI) { argument
1266 visitOperandShadowInst(GEPI);

Completed in 9036 milliseconds