Home | History | Annotate | Download | only in Analysis

Lines Matching defs:GEP

332 /// into GEP indices.
365 /// a GEP instead of using ptrtoint+arithmetic+inttoptr. This helps
410 // operands into GEP indices, at each level. The first index in a GEP
512 // If none of the operands were convertible to proper GEP indices, cast
526 // Fold a GEP with constant operands.
531 // Do a quick scan to see if we have this GEP nearby. If so, reuse it.
563 // Emit a GEP.
564 Value *GEP = Builder.CreateGEP(V, Idx, "uglygep");
565 rememberInstruction(GEP);
567 return GEP;
594 // Insert a pretty getelementptr. Note that this GEP is not marked inbounds,
600 Value *GEP = Builder.CreateGEP(Casted,
603 Ops.push_back(SE.getUnknown(GEP));
604 rememberInstruction(GEP);
735 // it, to enable more of it to be folded into the GEP.
832 /// GEP expansion.
886 /// If allowScale is set, any type of GEP is allowed as long as the nonIV
889 /// If allowScale is not set, ensure that a GEP increment conforms to one of the
901 // Check for a simple Add/Sub or GEP of a loop invariant step.
921 // allow any kind of GEP as long as it can be hoisted.
995 // If the PHI is a pointer, use a GEP, otherwise use an add or sub.
998 // If the step isn't constant, don't use an implicitly scaled GEP, because
1409 // Turn things like ptrtoint+arithmetic+inttoptr into GEP. See the
1413 // Dig into the expression to find the pointer base for a GEP.
1415 // If we found a pointer, expand the AddRec with a GEP.
1422 assert(StartV->getType() == PTy && "Pointer type mismatch for GEP!");