/external/llvm/lib/Target/AMDGPU/ |
AMDGPUTargetTransformInfo.cpp | 42 const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I); 43 if (!GEP || GEP->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS) 46 const Value *Ptr = GEP->getPointerOperand();
|
AMDGPUPromoteAlloca.cpp | 115 GetElementPtrInst *GEP = cast<GetElementPtrInst>(Ptr); 117 auto I = GEPIdx.find(GEP); 121 static Value* GEPToVectorIndex(GetElementPtrInst *GEP) { 123 if (GEP->getNumOperands() != 3) 126 ConstantInt *I0 = dyn_cast<ConstantInt>(GEP->getOperand(1)); 130 return GEP->getOperand(2); 171 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(AllocaUser); 172 if (!GEP) { 180 Value *Index = GEPToVectorIndex(GEP); 182 // If we can't compute a vector index from this GEP, then we can' [all...] |
/frameworks/compile/libbcc/lib/Renderscript/ |
RSX86TranslateGEPPass.cpp | 43 // Walk a GEP instruction and return true if any type indexed is a struct. 44 bool GEPIndexesStructType(const llvm::GetElementPtrInst *GEP) { 45 for (llvm::gep_type_iterator GTI = gep_type_begin(GEP), 46 GTE = gep_type_end(GEP); 63 // Compute the byte offset for a GEP from the GEP's base pointer operand. 69 llvm::Value *computeGEPOffset(llvm::GetElementPtrInst *GEP) { 72 for (llvm::gep_type_iterator GTI = gep_type_begin(GEP), 73 GTE = gep_type_end(GEP); 87 Offset = incrementOffset(Offset, Incr, GEP); [all...] |
/external/llvm/lib/Target/NVPTX/ |
NVVMReflect.cpp | 177 const ConstantExpr *GEP = cast<ConstantExpr>(Str); 179 const Value *Sym = GEP->getOperand(0);
|
/external/llvm/lib/Analysis/ |
VectorUtils.cpp | 228 /// \brief Find the operand of the GEP that should be checked for consecutive 231 unsigned llvm::getGEPInductionOperand(const GetElementPtrInst *Gep) { 232 const DataLayout &DL = Gep->getModule()->getDataLayout(); 233 unsigned LastOperand = Gep->getNumOperands() - 1; 235 cast<PointerType>(Gep->getType()->getScalarType())->getElementType()); 238 while (LastOperand > 1 && match(Gep->getOperand(LastOperand), m_Zero())) { 240 gep_type_iterator GEPTI = gep_type_begin(Gep); 243 // If it's a type with the same allocation size as the result of the GEP we 253 /// \brief If the argument is a GEP, then returns the operand identified by 257 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr) [all...] |
ScalarEvolutionExpander.cpp | 328 /// into GEP indices. 361 /// a GEP instead of using ptrtoint+arithmetic+inttoptr. This helps 405 // operands into GEP indices, at each level. The first index in a GEP 488 // If none of the operands were convertible to proper GEP indices, cast 502 // Fold a GEP with constant operands. 508 // Do a quick scan to see if we have this GEP nearby. If so, reuse it. 540 // Emit a GEP. 541 Value *GEP = Builder.CreateGEP(Builder.getInt8Ty(), V, Idx, "uglygep"); 542 rememberInstruction(GEP); [all...] |
/external/llvm/lib/CodeGen/ |
GlobalMerge.cpp | 452 Constant *GEP = 454 Globals[k]->replaceAllUsesWith(GEP); 464 GlobalAlias::create(Tys[idx], AddrSpace, Linkage, Name, GEP, &M);
|
/external/llvm/unittests/Linker/ |
LinkModulesTest.cpp | 86 Value *GEP = Builder.CreateGEP(AT, GV, GEPIndices, "switch.gep"); 87 Value *Load = Builder.CreateLoad(GEP, "switch.load");
|
/external/mesa3d/src/gallium/drivers/radeon/ |
R600KernelParameters.cpp | 159 getElementPtrInst* GEP = dyn_cast<getElementPtrInst>(Val); 160 getElementPtrInst::op_iterator I = GEP->op_begin(); 162 for (++I; I != GEP->op_end(); ++I) { 247 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V); 257 if (GEP && GEP->getType()->getAddressSpace() != Addrspace) { 258 Value *Op = GEP->getPointerOperand(); 266 std::vector<Value*> Params(GEP->idx_begin(), GEP->idx_end()); 270 GEP2->setIsInBounds(GEP->isInBounds()) [all...] |
/external/llvm/lib/Transforms/Scalar/ |
StraightLineStrengthReduce.cpp | 88 GEP, // &B[..][i * S][..] 100 // Note that Index and Stride of a GEP candidate do not necessarily have the 173 void allocateCandidatesAndFindBasisForGEP(GetElementPtrInst *GEP); 190 GetElementPtrInst *GEP); 192 // GEP and the bump is not divisible by the element size of the GEP, this 194 // basis using an ugly GEP. 238 static bool isGEPFoldable(GetElementPtrInst *GEP, 246 if (GlobalVariable *GV = dyn_cast<GlobalVariable>(GEP->getPointerOperand())) 251 gep_type_iterator GTI = gep_type_begin(GEP); [all...] |
/external/llvm/lib/Transforms/Utils/ |
CodeExtractor.cpp | 368 GetElementPtrInst *GEP = GetElementPtrInst::Create( 370 RewriteVal = new LoadInst(GEP, "loadgep_" + inputs[i]->getName(), TI); 469 GetElementPtrInst *GEP = GetElementPtrInst::Create( 471 codeReplacer->getInstList().push_back(GEP); 472 StoreInst *SI = new StoreInst(StructValues[i], GEP); 494 GetElementPtrInst *GEP = GetElementPtrInst::Create( 496 codeReplacer->getInstList().push_back(GEP); 497 Output = GEP; 612 GetElementPtrInst *GEP = GetElementPtrInst::Create( 615 new StoreInst(outputs[out], GEP, NTRet) [all...] |
/external/llvm/tools/bugpoint/ |
Miscompilation.cpp | [all...] |
/external/llvm/unittests/IR/ |
ConstantsTest.cpp | 288 Constant *GEP = ConstantExpr::getGetElementPtr( 290 EXPECT_DEATH(Global->replaceAllUsesWith(GEP), 356 auto *GEP = ConstantExpr::getGetElementPtr(IntTy, Placeholder, C1); 357 ASSERT_EQ(GEP->getOperand(0), Placeholder); 360 new GlobalVariable(*M, PtrTy, false, GlobalValue::ExternalLinkage, GEP); 361 ASSERT_EQ(GEP, Ref->getInitializer()); 368 ASSERT_EQ(GEP, Ref->getInitializer()); 369 ASSERT_EQ(GEP->getOperand(0), Alias);
|
/external/llvm/unittests/Transforms/Utils/ |
Cloning.cpp | 137 GetElementPtrInst *GEP = 139 EXPECT_FALSE(this->clone(GEP)->isInBounds()); 141 GEP->setIsInBounds(); 142 EXPECT_TRUE(this->clone(GEP)->isInBounds());
|
/external/llvm/lib/Transforms/IPO/ |
ArgumentPromotion.cpp | 81 /// A vector used to hold the indices of a single GEP instruction 440 // We can only promote this argument if all of the uses are loads, or are GEP 476 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V)) { 477 V = GEP->getPointerOperand(); 480 Indices.reserve(GEP->getNumIndices()); 481 for (User::op_iterator II = GEP->idx_begin(), IE = GEP->idx_end(); 486 // We found a non-constant GEP index for this argument? Bail out 495 // Direct loads are equivalent to a GEP with a single 0 index. 501 // not (GEP+)loads, or any (GEP+)loads that are not safe to promote [all...] |
LowerBitSets.cpp | 75 if (auto GEP = dyn_cast<GEPOperator>(V)) { 77 bool Result = GEP->accumulateConstantOffset(DL, APOffset); 81 return containsValue(DL, GlobalLayout, GEP->getPointerOperand(), 392 Constant *GEP = ConstantExpr::getInBoundsGetElementPtr( 395 // Create an alias instead of RAUW'ing the gep directly. On x86 this ensures 399 BAI->ByteArray->replaceAllUsesWith(GEP); 402 Int8Ty, 0, GlobalValue::PrivateLinkage, "bits", GEP, M); [all...] |
GlobalOpt.cpp | 174 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(I)) { 175 if (!GEP->hasAllConstantIndices()) 318 } else if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(U)) { 319 // Do not transform "gepinst (gep constexpr (GV))" here, because forming 320 // "gepconstexpr (gep constexpr (GV))" will cause the two gep's to fold 323 if (!isa<ConstantExpr>(GEP->getOperand(0))) { 325 ConstantFoldInstruction(GEP, DL, TLI)); 329 // If the initializer is an all-null value and we have an inbounds GEP, 330 // we already know what the result of any load from that GEP is [all...] |
/external/llvm/lib/Transforms/InstCombine/ |
InstCombineLoadStoreAlloca.cpp | 80 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(I)) { 81 // If the GEP has all zero indices, it doesn't offset the pointer. If it 84 std::make_pair(I, IsOffset || !GEP->hasAllZeroIndices())); 200 Instruction *GEP = 202 IC.InsertNewInstBefore(GEP, *It); 206 return IC.ReplaceInstUsesWith(AI, GEP); 659 // Then we know that we can replace %x in the GEP with i64 0. 661 // FIXME: We could fold any GEP index to zero that would cause UB if it were 670 // Find the first non-zero index of a GEP. If all indices are zero, return 721 // FIXME: If the GEP is not inbounds, and there are extra indices after th [all...] |
InstCombinePHI.cpp | 136 // This is true if all GEP bases are allocas and if all indices into them are 149 GetElementPtrInst *GEP= dyn_cast<GetElementPtrInst>(PN.getIncomingValue(i)); 150 if (!GEP || !GEP->hasOneUse() || GEP->getType() != FirstInst->getType() || 151 GEP->getNumOperands() != FirstInst->getNumOperands()) 154 AllInBounds &= GEP->isInBounds(); 158 (!isa<AllocaInst>(GEP->getOperand(0)) || 159 !GEP->hasAllConstantIndices())) 164 if (FirstInst->getOperand(op) == GEP->getOperand(op) [all...] |
InstCombineVectorOps.cpp | 687 GetElementPtrInst *GEP = GetElementPtrInst::Create( 689 GEP->setIsInBounds(cast<GetElementPtrInst>(I)->isInBounds()); 690 return GEP; [all...] |
InstructionCombining.cpp | 79 Value *InstCombiner::EmitGEPOffset(User *GEP) { 80 return llvm::EmitGEPOffset(Builder, DL, GEP); [all...] |
/external/llvm/lib/Transforms/Instrumentation/ |
GCOVProfiling.cpp | [all...] |
/external/clang/lib/CodeGen/ |
CGExprCXX.cpp | [all...] |
/external/llvm/lib/IR/ |
Constants.cpp | 782 /// getElementValue - Return a zero of the right value for the specified GEP 790 /// getElementValue - Return a zero of the right value for the specified GEP 823 /// getElementValue - Return an undef of the right value for the specified GEP 831 /// getElementValue - Return an undef of the right value for the specified GEP [all...] |
/external/llvm/include/llvm/IR/ |
Instructions.h | 828 // message on bad indexes for a gep instruction. [all...] |