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

  /external/llvm/unittests/Transforms/Utils/
Cloning.cpp 132 GetElementPtrInst *GEP = GetElementPtrInst::Create(V, ops);
133 EXPECT_FALSE(this->clone(GEP)->isInBounds());
135 GEP->setIsInBounds();
136 EXPECT_TRUE(this->clone(GEP)->isInBounds());
  /external/llvm/lib/Transforms/InstCombine/
InstCombineLoadStoreAlloca.cpp 69 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(U)) {
70 // If the GEP has all zero indices, it doesn't offset the pointer. If it
72 if (!isOnlyCopiedFromConstantGlobal(GEP, TheCopy, ToDelete,
73 IsOffset || !GEP->hasAllZeroIndices()))
187 Instruction *GEP =
189 InsertNewInstBefore(GEP, *It);
193 return ReplaceInstUsesWith(AI, GEP);
300 // see if a trivial 'gep P, 0, 0' will help matters. Only do this for
370 // load(gep null, ...) -> unreachable
462 /// NewGEPIndices - If SrcPTy is an aggregate type, we can emit a "noop gep"
    [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...]
InstructionCombining.cpp 96 Value *InstCombiner::EmitGEPOffset(User *GEP) {
97 return llvm::EmitGEPOffset(Builder, *getDataLayout(), GEP);
759 /// or not there is a sequence of GEP indices into the type that will land us at
819 static bool shouldMergeGEPs(GEPOperator &GEP, GEPOperator &Src) {
820 // If this GEP has only 0 indices, it is the same pointer as
821 // Src. If Src is not a trivial GEP too, don't combine
823 if (GEP.hasAllZeroIndices() && !Src.hasAllZeroIndices() &&
    [all...]
  /external/llvm/lib/Transforms/Scalar/
GlobalMerge.cpp 187 Constant *GEP = ConstantExpr::getInBoundsGetElementPtr(MergedGV, Idx);
188 Globals[k]->replaceAllUsesWith(GEP);
  /external/llvm/lib/Transforms/IPO/
ArgumentPromotion.cpp 73 /// A vector used to hold the indices of a single GEP instruction
316 // We can only promote this argument if all of the uses are loads, or are GEP
350 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(V)) {
351 V = GEP->getPointerOperand();
354 Indices.reserve(GEP->getNumIndices());
355 for (User::op_iterator II = GEP->idx_begin(), IE = GEP->idx_end();
360 // We found a non-constant GEP index for this argument? Bail out
369 // Direct loads are equivalent to a GEP with a single 0 index.
375 // not (GEP+)loads, or any (GEP+)loads that are not safe to promote
    [all...]
GlobalOpt.cpp 269 // PHI nodes we can check just like select or GEP instructions, but we
368 if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(I)) {
369 if (!GEP->hasAllConstantIndices())
503 } else if (GetElementPtrInst *GEP = dyn_cast<GetElementPtrInst>(U)) {
504 // Do not transform "gepinst (gep constexpr (GV))" here, because forming
505 // "gepconstexpr (gep constexpr (GV))" will cause the two gep's to fold
508 if (!isa<ConstantExpr>(GEP->getOperand(0))) {
510 dyn_cast_or_null<ConstantExpr>(ConstantFoldInstruction(GEP, TD, TLI));
514 // If the initializer is an all-null value and we have an inbounds GEP,
    [all...]
  /external/llvm/lib/Transforms/Utils/
CodeExtractor.cpp 366 GetElementPtrInst *GEP =
368 RewriteVal = new LoadInst(GEP, "loadgep_" + inputs[i]->getName(), TI);
468 GetElementPtrInst *GEP =
471 codeReplacer->getInstList().push_back(GEP);
472 StoreInst *SI = new StoreInst(StructValues[i], GEP);
494 GetElementPtrInst *GEP
497 codeReplacer->getInstList().push_back(GEP);
498 Output = GEP;
609 GetElementPtrInst *GEP =
613 new StoreInst(outputs[out], GEP, NTRet)
    [all...]
SimplifyCFG.cpp     [all...]
  /external/llvm/tools/bugpoint/
Miscompilation.cpp 836 Value *GEP = ConstantExpr::getGetElementPtr(funcName, GEPargs)
    [all...]
  /external/llvm/lib/Analysis/
ScalarEvolutionExpander.cpp 336 /// into GEP indices.
370 /// a GEP instead of using ptrtoint+arithmetic+inttoptr. This helps
411 // operands into GEP indices, at each level. The first index in a GEP
513 // If none of the operands were convertible to proper GEP indices, cast
527 // Fold a GEP with constant operands.
532 // Do a quick scan to see if we have this GEP nearby. If so, reuse it.
565 // Emit a GEP.
566 Value *GEP = Builder.CreateGEP(V, Idx, "uglygep");
567 rememberInstruction(GEP);
    [all...]
  /external/llvm/lib/Transforms/Instrumentation/
GCOVProfiling.cpp 781 Value *GEP = Builder.CreateGEP(Arg, ZExtPred);
782 Value *Counter = Builder.CreateLoad(GEP, "counter");
  /external/clang/lib/CodeGen/
CGExprCXX.cpp     [all...]
  /external/llvm/include/llvm/IR/
Instructions.h 701 // message on bad indexes for a gep instruction.
749 GetElementPtrInst *GEP = Create(Ptr, IdxList, NameStr, InsertBefore);
750 GEP->setIsInBounds(true);
751 return GEP;
757 GetElementPtrInst *GEP = Create(Ptr, IdxList, NameStr, InsertAtEnd);
758 GEP->setIsInBounds(true);
759 return GEP;
813 /// GetGEPReturnType - Returns the pointer type returned by the GEP
819 // Vector GEP
825 // Scalar GEP
    [all...]
  /external/llvm/lib/IR/
Constants.cpp 665 /// getElementValue - Return a zero of the right value for the specified GEP
673 /// getElementValue - Return a zero of the right value for the specified GEP
698 /// getElementValue - Return an undef of the right value for the specified GEP
706 /// getElementValue - Return an undef of the right value for the specified GEP
    [all...]
Verifier.cpp 276 void visitGetElementPtrInst(GetElementPtrInst &GEP);
    [all...]

Completed in 706 milliseconds