HomeSort by relevance Sort by last modified time
    Searched defs:GEP (Results 1 - 25 of 28) sorted by null

1 2

  /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...]

Completed in 976 milliseconds

1 2