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