Lines Matching defs:DerivedCCG
154 template <typename DerivedCCG, typename FuncTy, typename CallTy>
186 const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>;
188 const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>;
501 return static_cast<const DerivedCCG *>(this)->getStackId(IdOrIndex);
520 return static_cast<DerivedCCG *>(this)->calleeMatchesFunc(
527 return static_cast<DerivedCCG *>(this)->getStackIdsWithContextNodesForCall(
533 return static_cast<DerivedCCG *>(this)->getLastStackId(Call);
539 static_cast<DerivedCCG *>(this)->updateAllocationCall(Call, AllocType);
545 static_cast<DerivedCCG *>(this)->updateCall(CallerCall, CalleeFunc);
554 return static_cast<DerivedCCG *>(this)->cloneFunctionForCallsite(
562 return static_cast<const DerivedCCG *>(this)->getLabel(Func, Call, CloneNo);
640 template <typename DerivedCCG, typename FuncTy, typename CallTy>
642 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode;
643 template <typename DerivedCCG, typename FuncTy, typename CallTy>
645 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge;
646 template <typename DerivedCCG, typename FuncTy, typename CallTy>
648 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::FuncInfo;
649 template <typename DerivedCCG, typename FuncTy, typename CallTy>
651 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::CallInfo;
830 template <typename DerivedCCG, typename FuncTy, typename CallTy>
833 const std::vector<std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>>>
838 const std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>> &r) {
851 template <typename DerivedCCG, typename FuncTy, typename CallTy>
852 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
853 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForInst(
862 template <typename DerivedCCG, typename FuncTy, typename CallTy>
863 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
864 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForAlloc(
869 template <typename DerivedCCG, typename FuncTy, typename CallTy>
870 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
871 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForStackId(
879 template <typename DerivedCCG, typename FuncTy, typename CallTy>
880 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
896 template <typename DerivedCCG, typename FuncTy, typename CallTy>
898 DerivedCCG, FuncTy, CallTy>::removeNoneTypeCalleeEdges(ContextNode *Node) {
910 template <typename DerivedCCG, typename FuncTy, typename CallTy>
911 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge *
912 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
920 template <typename DerivedCCG, typename FuncTy, typename CallTy>
921 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge *
922 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
930 template <typename DerivedCCG, typename FuncTy, typename CallTy>
931 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
941 template <typename DerivedCCG, typename FuncTy, typename CallTy>
942 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
952 template <typename DerivedCCG, typename FuncTy, typename CallTy>
953 uint8_t CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::computeAllocType(
967 template <typename DerivedCCG, typename FuncTy, typename CallTy>
969 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::intersectAllocTypesImpl(
985 template <typename DerivedCCG, typename FuncTy, typename CallTy>
986 uint8_t CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::intersectAllocTypes(
994 template <typename DerivedCCG, typename FuncTy, typename CallTy>
995 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
996 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::addAllocNode(
1024 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1026 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::addStackNodesForMIB(
1075 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1077 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::duplicateContextIds(
1095 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1096 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
1135 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1136 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::connectNewNode(
1186 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1188 const std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>> &Edge) {
1195 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1196 static void checkNode(const ContextNode<DerivedCCG, FuncTy, CallTy> *Node,
1211 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
1224 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
1231 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1232 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
1379 checkNode<DerivedCCG, FuncTy, CallTy>(NewNode, /*CheckEdges=*/true);
1384 checkNode<DerivedCCG, FuncTy, CallTy>(CurNode, /*CheckEdges=*/true);
1390 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1391 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::updateStackNodes() {
1654 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1657 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getStackIdsWithContextNodes(
1815 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1816 void CallsiteContextGraph<DerivedCCG, FuncTy,
1879 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1880 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::calleesMatch(
2212 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2213 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::dump()
2219 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2220 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::print(
2254 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2255 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge::dump()
2261 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2262 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge::print(
2273 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2274 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::dump() const {
2278 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2279 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::print(
2282 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2291 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2292 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::printTotalSizes(
2294 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2315 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2316 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::check() const {
2317 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2319 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
2321 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
2325 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2326 struct GraphTraits<const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *> {
2327 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2328 using NodeRef = const ContextNode<DerivedCCG, FuncTy, CallTy> *;
2330 using NodePtrTy = std::unique_ptr<ContextNode<DerivedCCG, FuncTy, CallTy>>;
2349 using EdgePtrTy = std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>>;
2350 static const ContextNode<DerivedCCG, FuncTy, CallTy> *
2357 DerivedCCG, FuncTy, CallTy>>>::const_iterator,
2369 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2370 struct DOTGraphTraits<const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>
2374 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2464 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2465 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::exportToDot(
2471 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2472 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
2473 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::moveEdgeToNewCalleeClone(
2488 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2489 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
2599 checkNode<DerivedCCG, FuncTy, CallTy>(OldCallee, /*CheckEdges=*/false);
2600 checkNode<DerivedCCG, FuncTy, CallTy>(NewCallee, /*CheckEdges=*/false);
2602 checkNode<DerivedCCG, FuncTy, CallTy>(OldCalleeEdge->Callee,
2605 checkNode<DerivedCCG, FuncTy, CallTy>(NewCalleeEdge->Callee,
2610 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2611 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
2636 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2637 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::identifyClones() {
2658 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2659 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::identifyClones(
2663 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
2791 allocTypesMatch<DerivedCCG, FuncTy, CallTy>(
2805 if (!allocTypesMatch<DerivedCCG, FuncTy, CallTy>(
2833 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
2971 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2972 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::assignFunctions() {
3045 checkNode<DerivedCCG, FuncTy, CallTy>(Clone);
3340 checkNode<DerivedCCG, FuncTy, CallTy>(Node);
3342 checkNode<DerivedCCG, FuncTy, CallTy>(PE->Callee);
3344 checkNode<DerivedCCG, FuncTy, CallTy>(CE->Caller);
3346 checkNode<DerivedCCG, FuncTy, CallTy>(Clone);
3348 checkNode<DerivedCCG, FuncTy, CallTy>(PE->Callee);
3350 checkNode<DerivedCCG, FuncTy, CallTy>(CE->Caller);
3816 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3817 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::process() {