Home | History | Annotate | Download | only in Scalar

Lines Matching defs:Uses

13 /// convert uses of an element (or set of elements) of an alloca into a vector
71 STATISTIC(NumAllocaPartitionUses, "Number of alloca partition uses rewritten");
72 STATISTIC(MaxUsesPerAllocaPartition, "Maximum number of uses of a partition");
209 /// various uses. If a pointer escapes, we can't fully build a representation
210 /// for the slices used and we reflect that in this structure. The uses are
289 /// We store a vector of the slices formed by uses of the alloca here. This
329 /// This class builds a set of alloca slices by recursively visiting the uses
358 // Completely skip uses which have a zero size or start either before or
375 // but that is not so! There may be widened loads or PHI-node uses where
432 // delete it and all uses.
607 // the same offset to be a viable use for slicing purposes. These uses
611 SmallVector<std::pair<Instruction *, Instruction *>, 4> Uses;
613 Uses.push_back(std::make_pair(cast<Instruction>(*U), Root));
619 std::tie(UsedI, I) = Uses.pop_back_val();
643 Uses.push_back(std::make_pair(I, cast<Instruction>(U)));
644 } while (!Uses.empty());
751 // Sort the uses. This arranges for the offsets to be in ascending order,
846 uses.
1074 /// We can do this to a select if its only uses are loads and if the operands
1195 /// We can do this to a select if its only uses are loads and if the operand
1829 // While examining uses, we ensure that the alloca has a covering load or
1832 // later). However, if there are only splittable uses, go ahead and assume
2238 // basis for the new value. This allows us to replace the uses of LI with
2756 /// Queue of pointer uses to analyze and potentially rewrite.
2784 /// This uses a set to de-duplicate users.
2786 for (Use &U : I.uses())
3100 /// to rewrite uses of an alloca partition to be conducive for SSA value
3103 /// rewrite the uses of the old alloca to point at the new one and have the
3286 /// rewriting each of their uses.
3333 uses and erase old split uses.
3351 // If we're already at the end and we have no split uses, we're done.
3355 // If we have no split uses or no gap in offsets, we're ready to move to
3404 // all the dead instructions to ensure the uses of any alloca end up being
3453 // Now replace the uses of this instruction.
3550 // We need a worklist to walk the uses of each alloca.