Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:Roots

13 // to identify roots.
22 // In order to support this particular transformation, all stack roots are
44 /// roots.
52 /// Roots - GC roots in the current function. Each is a pair of the
54 std::vector<std::pair<CallInst*,AllocaInst*> > Roots;
210 for (unsigned I = 0; I != Roots.size(); ++I) {
211 Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1));
221 ConstantInt::get(Int32Ty, Roots.size(), false),
263 for (size_t I = 0; I != Roots.size(); I++)
264 EltTys.push_back(Roots[I].second->getAllocatedType());
273 // int32_t NumRoots; // Number of roots in stack frame.
275 // void *Meta[]; // May be absent for roots without metadata.
288 // void *Roots[]; // Stack roots (in-place array, so we pretend).
327 assert(Roots.empty() && "Not cleaned up?");
339 Roots.push_back(Pair);
344 // Number roots with metadata (usually empty) at the beginning, so that the
346 Roots.insert(Roots.begin(), MetaRoots.begin(), MetaRoots.end());
381 // If there are no roots in this function, then there is no need to add a
383 if (Roots.empty())
407 for (unsigned I = 0, E = Roots.size(); I != E; ++I) {
412 AllocaInst *OriginalAlloca = Roots[I].second;
446 for (unsigned I = 0, E = Roots.size(); I != E; ++I) {
447 Roots[I].first->eraseFromParent();
448 Roots[I].second->eraseFromParent();
451 Roots.clear();