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

1 2 3

  /external/llvm/lib/Target/AMDGPU/
AMDGPUTargetTransformInfo.cpp 44 const GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(&I);
45 if (!GEP || GEP->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS)
48 const Value *Ptr = GEP->getPointerOperand();
AMDGPUPromoteAlloca.cpp 354 GetElementPtrInst *GEP = cast<GetElementPtrInst>(Ptr);
356 auto I = GEPIdx.find(GEP);
360 static Value* GEPToVectorIndex(GetElementPtrInst *GEP) {
362 if (GEP->getNumOperands() != 3)
365 ConstantInt *I0 = dyn_cast<ConstantInt>(GEP->getOperand(1));
369 return GEP->getOperand(2);
409 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(AllocaUser);
410 if (!GEP) {
418 Value *Index = GEPToVectorIndex(GEP);
420 // If we can't compute a vector index from this GEP, then we can'
    [all...]
  /external/llvm/lib/Target/NVPTX/
NVVMReflect.cpp 177 const ConstantExpr *GEP = cast<ConstantExpr>(Str);
179 const Value *Sym = GEP->getOperand(0);
NVPTXInferAddressSpaces.cpp 31 // %1 = gep [10 x float], [10 x float]* %0, i64 0, i64 %i
39 // %1 = gep [10 x float] addrspace(3)* @a, i64 0, i64 %i
317 GetElementPtrInst *GEP = cast<GetElementPtrInst>(I);
319 GEP->getSourceElementType(), NewPointerOperands[0],
320 SmallVector<Value *, 4>(GEP->idx_begin(), GEP->idx_end()));
321 NewGEP->setIsInBounds(GEP->isInBounds());
  /external/swiftshader/third_party/LLVM/unittests/Transforms/Utils/
Cloning.cpp 127 GetElementPtrInst *GEP = GetElementPtrInst::Create(V, ops);
128 EXPECT_FALSE(this->clone(GEP)->isInBounds());
130 GEP->setIsInBounds();
131 EXPECT_TRUE(this->clone(GEP)->isInBounds());
  /frameworks/compile/libbcc/lib/
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/swiftshader/third_party/LLVM/lib/Target/ARM/
ARMGlobalMerge.cpp 153 Constant *GEP = ConstantExpr::getInBoundsGetElementPtr(MergedGV, Idx);
154 Globals[k]->replaceAllUsesWith(GEP);
  /external/llvm/lib/Analysis/
VectorUtils.cpp 98 /// \brief Find the operand of the GEP that should be checked for consecutive
101 unsigned llvm::getGEPInductionOperand(const GetElementPtrInst *Gep) {
102 const DataLayout &DL = Gep->getModule()->getDataLayout();
103 unsigned LastOperand = Gep->getNumOperands() - 1;
104 unsigned GEPAllocSize = DL.getTypeAllocSize(Gep->getResultElementType());
107 while (LastOperand > 1 && match(Gep->getOperand(LastOperand), m_Zero())) {
109 gep_type_iterator GEPTI = gep_type_begin(Gep);
112 // If it's a type with the same allocation size as the result of the GEP we
122 /// \brief If the argument is a GEP, then returns the operand identified by
126 GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr)
    [all...]
  /external/llvm/lib/CodeGen/
GlobalMerge.cpp 462 Constant *GEP =
464 Globals[k]->replaceAllUsesWith(GEP);
473 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/swiftshader/third_party/LLVM/lib/Transforms/InstCombine/
InstCombineAddSub.cpp 401 Value *InstCombiner::EmitGEPOffset(User *GEP) {
403 gep_type_iterator GTI = gep_type_begin(GEP);
404 Type *IntPtrTy = TD.getIntPtrType(GEP->getContext());
407 // If the GEP is inbounds, we know that none of the addressing operations will
409 bool isInBounds = cast<GEPOperator>(GEP)->isInBounds();
415 for (User::op_iterator i = GEP->op_begin() + 1, e = GEP->op_end(); i != e;
428 GEP->getName()+".offs");
437 Result = Builder->CreateAdd(Result, Scale, GEP->getName()+".offs");
446 GEP->getName()+".idx", isInBounds /*NUW*/)
    [all...]
InstCombineLoadStoreAlloca.cpp 60 Instruction *GEP =
62 InsertNewInstBefore(GEP, *It);
66 return ReplaceInstUsesWith(AI, GEP);
107 // see if a trivial 'gep P, 0, 0' will help matters. Only do this for
177 // load(gep null, ...) -> unreachable
269 /// NewGEPIndices - If SrcPTy is an aggregate type, we can emit a "noop gep"
276 // see if a trivial 'gep P, 0, 0' will help matters. Only do this for
329 // emit a GEP to index into its first field.
397 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(Ptr)) {
398 if (isa<AllocaInst>(GEP->getOperand(0)))
    [all...]
InstCombinePHI.cpp 135 // This is true if all GEP bases are allocas and if all indices into them are
148 GetElementPtrInst *GEP= dyn_cast<GetElementPtrInst>(PN.getIncomingValue(i));
149 if (!GEP || !GEP->hasOneUse() || GEP->getType() != FirstInst->getType() ||
150 GEP->getNumOperands() != FirstInst->getNumOperands())
153 AllInBounds &= GEP->isInBounds();
157 (!isa<AllocaInst>(GEP->getOperand(0)) ||
158 !GEP->hasAllConstantIndices()))
163 if (FirstInst->getOperand(op) == GEP->getOperand(op)
    [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.
237 static bool isGEPFoldable(GetElementPtrInst *GEP,
240 for (auto I = GEP->idx_begin(); I != GEP->idx_end(); ++I
    [all...]
  /external/llvm/lib/Transforms/Utils/
CodeExtractor.cpp 357 GetElementPtrInst *GEP = GetElementPtrInst::Create(
359 RewriteVal = new LoadInst(GEP, "loadgep_" + inputs[i]->getName(), TI);
457 GetElementPtrInst *GEP = GetElementPtrInst::Create(
459 codeReplacer->getInstList().push_back(GEP);
460 StoreInst *SI = new StoreInst(StructValues[i], GEP);
482 GetElementPtrInst *GEP = GetElementPtrInst::Create(
484 codeReplacer->getInstList().push_back(GEP);
485 Output = GEP;
598 GetElementPtrInst *GEP = GetElementPtrInst::Create(
601 new StoreInst(outputs[out], GEP, NTRet)
    [all...]
  /external/llvm/tools/bugpoint/
Miscompilation.cpp     [all...]
  /external/llvm/unittests/Transforms/Utils/
Cloning.cpp 136 GetElementPtrInst *GEP =
138 EXPECT_FALSE(this->clone(GEP)->isInBounds());
140 GEP->setIsInBounds();
141 EXPECT_TRUE(this->clone(GEP)->isInBounds());
  /external/swiftshader/third_party/LLVM/lib/Transforms/IPO/
ArgumentPromotion.cpp 73 /// A vector used to hold the indices of a single GEP instruction
318 // We can only promote this argument if all of the uses are loads, or are GEP
352 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V)) {
353 V = GEP->getPointerOperand();
356 Indices.reserve(GEP->getNumIndices());
357 for (User::op_iterator II = GEP->idx_begin(), IE = GEP->idx_end();
362 // We found a non-constant GEP index for this argument? Bail out
371 // Direct loads are equivalent to a GEP with a single 0 index.
377 // not (GEP+)loads, or any (GEP+)loads that are not safe to promote
    [all...]
  /external/swiftshader/third_party/LLVM/lib/Transforms/Utils/
CodeExtractor.cpp 319 GetElementPtrInst *GEP =
321 RewriteVal = new LoadInst(GEP, "loadgep_" + inputs[i]->getName(), TI);
421 GetElementPtrInst *GEP =
424 codeReplacer->getInstList().push_back(GEP);
425 StoreInst *SI = new StoreInst(StructValues[i], GEP);
447 GetElementPtrInst *GEP
450 codeReplacer->getInstList().push_back(GEP);
451 Output = GEP;
562 GetElementPtrInst *GEP =
566 new StoreInst(outputs[out], GEP, NTRet)
    [all...]
  /external/swiftshader/third_party/LLVM/tools/bugpoint/
Miscompilation.cpp     [all...]
  /external/llvm/lib/Transforms/IPO/
ArgumentPromotion.cpp 92 /// A vector used to hold the indices of a single GEP instruction
466 // We can only promote this argument if all of the uses are loads, or are GEP
502 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V)) {
503 V = GEP->getPointerOperand();
506 Indices.reserve(GEP->getNumIndices());
507 for (User::op_iterator II = GEP->idx_begin(), IE = GEP->idx_end();
512 // We found a non-constant GEP index for this argument? Bail out
521 // Direct loads are equivalent to a GEP with a single 0 index.
527 // not (GEP+)loads, or any (GEP+)loads that are not safe to promote
    [all...]
LowerTypeTests.cpp 76 if (auto GEP = dyn_cast<GEPOperator>(V)) {
78 bool Result = GEP->accumulateConstantOffset(DL, APOffset);
82 return containsValue(DL, GlobalLayout, GEP->getPointerOperand(),
356 Constant *GEP = ConstantExpr::getInBoundsGetElementPtr(
359 // Create an alias instead of RAUW'ing the gep directly. On x86 this ensures
363 BAI->ByteArray->replaceAllUsesWith(GEP);
366 Int8Ty, 0, GlobalValue::PrivateLinkage, "bits", GEP, M);
    [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()));
202 Instruction *GEP =
204 IC.InsertNewInstBefore(GEP, *It);
208 return IC.replaceInstUsesWith(AI, GEP);
694 // Then we know that we can replace %x in the GEP with i64 0.
696 // FIXME: We could fold any GEP index to zero that would cause UB if it were
705 // Find the first non-zero index of a GEP. If all indices are zero, return
754 // FIXME: If the GEP is not inbounds, and there are extra indices after th
    [all...]
InstCombinePHI.cpp 126 // This is true if all GEP bases are allocas and if all indices into them are
139 GetElementPtrInst *GEP= dyn_cast<GetElementPtrInst>(PN.getIncomingValue(i));
140 if (!GEP || !GEP->hasOneUse() || GEP->getType() != FirstInst->getType() ||
141 GEP->getNumOperands() != FirstInst->getNumOperands())
144 AllInBounds &= GEP->isInBounds();
148 (!isa<AllocaInst>(GEP->getOperand(0)) ||
149 !GEP->hasAllConstantIndices()))
154 if (FirstInst->getOperand(op) == GEP->getOperand(op)
    [all...]
  /external/llvm/unittests/IR/
ConstantsTest.cpp 313 Constant *GEP = ConstantExpr::getGetElementPtr(
315 EXPECT_DEATH(Global->replaceAllUsesWith(GEP),
381 auto *GEP = ConstantExpr::getGetElementPtr(IntTy, Placeholder, C1);
382 ASSERT_EQ(GEP->getOperand(0), Placeholder);
385 new GlobalVariable(*M, PtrTy, false, GlobalValue::ExternalLinkage, GEP);
386 ASSERT_EQ(GEP, Ref->getInitializer());
393 ASSERT_EQ(GEP, Ref->getInitializer());
394 ASSERT_EQ(GEP->getOperand(0), Alias);

Completed in 665 milliseconds

1 2 3