Lines Matching full:roots
56 /// roots.
63 /// Roots - GC roots in the current function. Each is a pair of the
65 std::vector<std::pair<CallInst *, AllocaInst *>> Roots;
155 for (unsigned I = 0; I != Roots.size(); ++I) {
156 Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1));
166 ConstantInt::get(Int32Ty, Roots.size(), false),
206 for (const std::pair<CallInst *, AllocaInst *> &Root : Roots)
226 // int32_t NumRoots; // Number of roots in stack frame.
228 // void *Meta[]; // May be absent for roots without metadata.
241 // void *Roots[]; // Stack roots (in-place array, so we pretend).
278 assert(Roots.empty() && "Not cleaned up?");
291 Roots.push_back(Pair);
296 // Number roots with metadata (usually empty) at the beginning, so that the
298 Roots.insert(Roots.begin(), MetaRoots.begin(), MetaRoots.end());
341 // If there are no roots in this function, then there is no need to add a
343 if (Roots.empty())
368 for (unsigned I = 0, E = Roots.size(); I != E; ++I) {
374 AllocaInst *OriginalAlloca = Roots[I].second;
411 for (std::pair<CallInst *, AllocaInst *> &Root : Roots) {
416 Roots.clear();