| /src/external/apache2/llvm/dist/llvm/lib/FuzzMutate/ |
| IRMutator.cpp | 205 GetElementPtrInst *GEP = nullptr; 233 GEP = cast<GetElementPtrInst>(&Inst); 234 Modifications.push_back([GEP]() { GEP->setIsInBounds(true); }); 235 Modifications.push_back([GEP]() { GEP->setIsInBounds(false); });
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| AMDGPUInstructionSelector.h | 71 const MachineInstr &GEP; 75 GEPInfo(const MachineInstr &GEP) : GEP(GEP), Imm(0) { }
|
| AMDGPUTargetTransformInfo.cpp | 173 const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I); 174 if (!GEP) 177 unsigned AS = GEP->getAddressSpace(); 190 const Value *Ptr = GEP->getPointerOperand(); 207 (!isa<GlobalVariable>(GEP->getPointerOperand()) && 208 !isa<Argument>(GEP->getPointerOperand()))) 215 // Check if GEP depends on a value defined by this loop itself. 217 for (const Value *Op : GEP->operands()) { 247 << *L << " due to " << *GEP << '\n'); 252 // If we got a GEP in a small BB from inner loop then increase max tri [all...] |
| AMDGPUPromoteAlloca.cpp | 337 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(stripBitcasts(Ptr)); 338 if (!GEP) 341 auto I = GEPIdx.find(GEP); 345 static Value* GEPToVectorIndex(GetElementPtrInst *GEP) { 347 if (GEP->getNumOperands() != 3) 350 ConstantInt *I0 = dyn_cast<ConstantInt>(GEP->getOperand(1)); 354 return GEP->getOperand(2); 365 // Currently only handle the case where the Pointer Operand is a GEP. 385 // since it should be canonical form, the User should be a GEP. 455 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(AllocaUser) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/NVPTX/ |
| NVVMReflect.cpp | 138 const ConstantExpr *GEP = cast<ConstantExpr>(Str); 140 const Value *Sym = GEP->getOperand(0);
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
| GlobalSplit.cpp | 9 // This pass uses inrange annotations on GEP indices to split globals where 60 auto *GEP = dyn_cast<GEPOperator>(U); 61 if (!GEP || !GEP->getInRangeIndex() || *GEP->getInRangeIndex() != 1 || 62 !isa<ConstantInt>(GEP->getOperand(1)) || 63 !cast<ConstantInt>(GEP->getOperand(1))->isZero() || 64 !isa<ConstantInt>(GEP->getOperand(2))) 120 auto *GEP = cast<GEPOperator>(U); 121 unsigned I = cast<ConstantInt>(GEP->getOperand(2))->getZExtValue() [all...] |
| ArgumentPromotion.cpp | 98 /// A vector used to hold the indices of a single GEP instruction 121 // handle cases where there are both a direct load and GEP accesses. 126 // what the new GEP/Load instructions we are inserting look like. 180 // and gep+loads with the GEP indices. 253 // Loop over the operands, inserting GEP and loads in the caller as 263 // Emit a GEP and load for each element of the struct. 296 // This satisfies GEP constraints. 307 // And create a GEP to extract those indices. 439 GetElementPtrInst *GEP = cast<GetElementPtrInst>(I->user_back()) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| RelLookupTableConverter.cpp | 39 GetElementPtrInst *GEP = 41 if (!GEP || !GEP->hasOneUse()) 44 LoadInst *Load = dyn_cast<LoadInst>(GEP->use_begin()->getUser()); 128 GetElementPtrInst *GEP = 130 LoadInst *Load = cast<LoadInst>(GEP->use_begin()->getUser()); 133 BasicBlock *BB = GEP->getParent(); 140 // Place new instruction sequence before GEP. 141 Builder.SetInsertPoint(GEP); 142 Value *Index = GEP->getOperand(2) [all...] |
| /src/external/apache2/llvm/dist/clang/lib/CodeGen/ |
| CGBuilder.h | 273 auto *GEP = cast<llvm::GetElementPtrInst>(CreateConstInBoundsGEP2_32( 278 if (!GEP->accumulateConstantOffset(DL, Offset)) 279 llvm_unreachable("offset of GEP with constants is always computable"); 280 return Address(GEP, Addr.getAlignment().alignmentAtOffset(
|
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| StackProtector.cpp | 203 // If the GEP offset is out-of-bounds, or is non-constant and so has to be 207 const GetElementPtrInst *GEP = cast<GetElementPtrInst>(I); 211 if (!GEP->accumulateConstantOffset(DL, Offset) || Offset.ugt(MaxOffset))
|
| GlobalMerge.cpp | 542 Constant *GEP = 544 Globals[k]->replaceAllUsesWith(GEP); 554 Linkage, Name, GEP, &M);
|
| InterleavedLoadCombinePass.cpp | 149 // Pa_3 = %IDX/2 + 1 #1 | GEP, step signext to i64 150 // Pa_4 = (%IDX/2)*16 + 16 #0 | GEP, multiply index by sizeof(4) for floats 151 // Pa_5 = (%IDX/2)*16 + 16 #0 | GEP, add offset of leading components 156 // Pb_3 = %IDX/2 + 2 #1 | GEP, step signext to i64 157 // Pb_4 = (%IDX/2)*16 + 32 #0 | GEP, multiply index by sizeof(4) for floats 158 // Pb_5 = (%IDX/2)*16 + 16 #0 | GEP, add offset of leading components 984 GetElementPtrInst &GEP = *cast<GetElementPtrInst>(&Ptr); 989 if (GEP.accumulateConstantOffset(DL, BaseOffset)) { 991 BasePtr = GEP.getPointerOperand(); 994 // Otherwise we allow that the last index operand of the GEP i [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| ConstraintElimination.cpp | 55 auto *GEP = dyn_cast<GetElementPtrInst>(V); 56 if (GEP && GEP->getNumOperands() == 2 && GEP->isInBounds()) { 61 if (match(GEP->getOperand(GEP->getNumOperands() - 1), 65 {1, GEP->getPointerOperand()}, 69 {1, GEP->getPointerOperand()}, 71 return {{0, nullptr}, {1, GEP->getPointerOperand()}, {1, Op0}}; 74 if (match(GEP->getOperand(GEP->getNumOperands() - 1), m_ConstantInt(CI)) & [all...] |
| StraightLineStrengthReduce.cpp | 139 GEP, // &B[..][i * S][..] 151 // Note that Index and Stride of a GEP candidate do not necessarily have the 214 void allocateCandidatesAndFindBasisForGEP(GetElementPtrInst *GEP); 235 GetElementPtrInst *GEP); 238 // GEP and the bump is not divisible by the element size of the GEP, this 240 // basis using an ugly GEP. 286 static bool isGEPFoldable(GetElementPtrInst *GEP, 288 SmallVector<const Value *, 4> Indices(GEP->indices()); 289 return TTI->getGEPCost(GEP->getSourceElementType(), GEP->getPointerOperand() [all...] |
| InferAddressSpaces.cpp | 30 // %1 = gep [10 x float], [10 x float]* %0, i64 0, i64 %i 38 // %1 = gep [10 x float] addrspace(3)* @a, i64 0, i64 %i 442 if (auto *GEP = dyn_cast<GetElementPtrInst>(&I)) { 443 if (!GEP->getType()->isVectorTy()) 444 PushPtrOperand(GEP->getPointerOperand()); 606 GetElementPtrInst *GEP = cast<GetElementPtrInst>(I); 608 GEP->getSourceElementType(), NewPointerOperands[0], 609 SmallVector<Value *, 4>(GEP->indices())); 610 NewGEP->setIsInBounds(GEP->isInBounds());
|
| MergeICmps.cpp | 83 BCEAtom(GetElementPtrInst *GEP, LoadInst *LoadI, int BaseId, APInt Offset) 84 : GEP(GEP), LoadI(LoadI), BaseId(BaseId), Offset(Offset) {} 93 GEP = that.GEP; 114 GetElementPtrInst *GEP = nullptr; 157 auto *const GEP = dyn_cast<GetElementPtrInst>(Addr); 158 if (!GEP) 160 LLVM_DEBUG(dbgs() << "GEP\n"); 161 if (GEP->isUsedOutsideOfBlock(LoadI->getParent())) [all...] |
| MemCpyOptimizer.cpp | 967 // Support moving a constant index GEP before the call. 968 auto *GEP = dyn_cast<GetElementPtrInst>(cpyDest); 969 if (GEP && GEP->hasAllConstantIndices() && 970 DT->dominates(GEP->getPointerOperand(), C)) 971 GEP->moveBefore(C);
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/ARM/ |
| MVEGatherScatterLowering.cpp | 87 Value *checkGEP(Value *&Offsets, FixedVectorType *Ty, GetElementPtrInst *GEP, 127 Value *Ptr, GetElementPtrInst *GEP, 139 Value *foldGEP(GetElementPtrInst *GEP, Value *&Offsets, IRBuilder<> &Builder); 218 GetElementPtrInst *GEP, 220 if (!GEP) { 227 Value *GEPPtr = GEP->getPointerOperand(); 228 Offsets = GEP->getOperand(1); 233 if (GEP->getNumOperands() != 2) { 238 Offsets = GEP->getOperand(1); 267 // If none of the checks failed, return the gep's base pointe [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Instrumentation/ |
| SanitizerCoverage.cpp | 126 cl::desc("Tracing of GEP instructions"), 353 auto GEP = IRB.CreateGEP(Int8Ty, SecStartI8Ptr, 355 return std::make_pair(IRB.CreatePointerCast(GEP, Ty), SecEnd); 659 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&Inst)) 660 GepTraceTargets.push_back(GEP); 848 for (auto GEP : GepTraceTargets) { 849 IRBuilder<> IRB(GEP); 850 for (Use &Idx : GEP->indices())
|
| /src/external/apache2/llvm/dist/llvm/tools/bugpoint/ |
| Miscompilation.cpp | 858 Value *GEP = ConstantExpr::getGetElementPtr(InitArray->getType(), 861 ResolverArgs.push_back(GEP);
|
| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| VectorUtils.cpp | 134 /// Find the operand of the GEP that should be checked for consecutive 137 unsigned llvm::getGEPInductionOperand(const GetElementPtrInst *Gep) { 138 const DataLayout &DL = Gep->getModule()->getDataLayout(); 139 unsigned LastOperand = Gep->getNumOperands() - 1; 140 TypeSize GEPAllocSize = DL.getTypeAllocSize(Gep->getResultElementType()); 143 while (LastOperand > 1 && match(Gep->getOperand(LastOperand), m_Zero())) { 145 gep_type_iterator GEPTI = gep_type_begin(Gep); 148 // If it's a type with the same allocation size as the result of the GEP we 158 /// If the argument is a GEP, then returns the operand identified by 162 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/BPF/ |
| BPFAbstractMemberAccess.cpp | 157 void traceGEP(GetElementPtrInst *GEP, CallInst *Parent, 370 auto *GEP = GetElementPtrInst::CreateInBounds(Call->getArgOperand(0), 372 Call->replaceAllUsesWith(GEP); 402 // addr = GEP(base, dimenion's zero's, index) 408 // addr = GEP(base, 0, gep_index) 533 void BPFAbstractMemberAccess::traceGEP(GetElementPtrInst *GEP, CallInst *Parent, 535 for (User *U : GEP->users()) { 1025 // For any original GEP Call and Base %2 like 1043 auto *GEP = GetElementPtrInst::Create(Type::getInt8Ty(BB->getContext()), 1045 BB->getInstList().insert(Call->getIterator(), GEP); [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/InstCombine/ |
| InstCombineLoadStoreAlloca.cpp | 71 if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { 72 // If the GEP has all zero indices, it doesn't offset the pointer. If it 74 ValuesToInspect.emplace_back(I, IsOffset || !GEP->hasAllZeroIndices()); 202 Instruction *GEP = GetElementPtrInst::CreateInBounds( 204 IC.InsertNewInstBefore(GEP, *It); 208 return IC.replaceInstUsesWith(AI, GEP); 234 // the new pointer. If during the chasing it sees bitcast or GEP, it will 235 // create new bitcast or GEP with the new pointer and use them in the load 294 } else if (auto *GEP = dyn_cast<GetElementPtrInst>(I)) { 295 auto *V = getReplacement(GEP->getPointerOperand()) [all...] |
| InstCombinePHI.cpp | 479 // This is true if all GEP bases are allocas and if all indices into them are 492 GetElementPtrInst *GEP = 494 if (!GEP || !GEP->hasOneUser() || GEP->getType() != FirstInst->getType() || 495 GEP->getNumOperands() != FirstInst->getNumOperands()) 498 AllInBounds &= GEP->isInBounds(); 502 (!isa<AllocaInst>(GEP->getOperand(0)) || 503 !GEP->hasAllConstantIndices())) 508 if (FirstInst->getOperand(op) == GEP->getOperand(op) [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| TargetTransformInfoImpl.h | 874 // Handle the case where the GEP instruction has a single operand, 881 // We assume that the cost of Scalar GEP with constant index and the 882 // cost of Vector GEP with splat constant index are the same. 889 assert(ConstIdx && "Unexpected GEP index"); 964 const GEPOperator *GEP = cast<GEPOperator>(U); 965 return TargetTTI->getGEPCost(GEP->getSourceElementType(), 966 GEP->getPointerOperand(),
|