Lines Matching full:roots
35 /// roots.
43 /// Roots - GC roots in the current function. Each is a pair of the
45 std::vector<std::pair<CallInst *, AllocaInst *>> Roots; member in __anon91d9d22a0111::ShadowStackGCLowering
206 for (unsigned I = 0; I != Roots.size(); ++I) { in GetFrameMap()
207 Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1)); in GetFrameMap()
217 ConstantInt::get(Int32Ty, Roots.size(), false), in GetFrameMap()
257 for (size_t I = 0; I != Roots.size(); I++) in GetConcreteStackEntryType()
258 EltTys.push_back(Roots[I].second->getAllocatedType()); in GetConcreteStackEntryType()
277 // int32_t NumRoots; // Number of roots in stack frame. in doInitialization()
279 // void *Meta[]; // May be absent for roots without metadata. in doInitialization()
292 // void *Roots[]; // Stack roots (in-place array, so we pretend). in doInitialization()
330 assert(Roots.empty() && "Not cleaned up?"); in CollectRoots()
343 Roots.push_back(Pair); in CollectRoots()
348 // Number roots with metadata (usually empty) at the beginning, so that the in CollectRoots()
350 Roots.insert(Roots.begin(), MetaRoots.begin(), MetaRoots.end()); in CollectRoots()
392 // If there are no roots in this function, then there is no need to add a in runOnFunction()
394 if (Roots.empty()) in runOnFunction()
419 for (unsigned I = 0, E = Roots.size(); I != E; ++I) { in runOnFunction()
425 AllocaInst *OriginalAlloca = Roots[I].second; in runOnFunction()
461 for (unsigned I = 0, E = Roots.size(); I != E; ++I) { in runOnFunction()
462 Roots[I].first->eraseFromParent(); in runOnFunction()
463 Roots[I].second->eraseFromParent(); in runOnFunction()
466 Roots.clear(); in runOnFunction()