Lines Matching full:roots
53 /// roots.
60 /// Roots - GC roots in the current function. Each is a pair of the
62 std::vector<std::pair<CallInst *, AllocaInst *>> Roots; member in __anonbb95b8580111::ShadowStackGCLowering
109 for (unsigned I = 0; I != Roots.size(); ++I) { in GetFrameMap()
110 Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1)); in GetFrameMap()
120 ConstantInt::get(Int32Ty, Roots.size(), false), in GetFrameMap()
160 for (size_t I = 0; I != Roots.size(); I++) in GetConcreteStackEntryType()
161 EltTys.push_back(Roots[I].second->getAllocatedType()); in GetConcreteStackEntryType()
180 // int32_t NumRoots; // Number of roots in stack frame. in doInitialization()
182 // void *Meta[]; // May be absent for roots without metadata. in doInitialization()
195 // void *Roots[]; // Stack roots (in-place array, so we pretend). in doInitialization()
233 assert(Roots.empty() && "Not cleaned up?"); in CollectRoots()
246 Roots.push_back(Pair); in CollectRoots()
251 // Number roots with metadata (usually empty) at the beginning, so that the in CollectRoots()
253 Roots.insert(Roots.begin(), MetaRoots.begin(), MetaRoots.end()); in CollectRoots()
295 // If there are no roots in this function, then there is no need to add a in runOnFunction()
297 if (Roots.empty()) in runOnFunction()
323 for (unsigned I = 0, E = Roots.size(); I != E; ++I) { in runOnFunction()
329 AllocaInst *OriginalAlloca = Roots[I].second; in runOnFunction()
366 for (unsigned I = 0, E = Roots.size(); I != E; ++I) { in runOnFunction()
367 Roots[I].first->eraseFromParent(); in runOnFunction()
368 Roots[I].second->eraseFromParent(); in runOnFunction()
371 Roots.clear(); in runOnFunction()