Lines Matching defs:CallTy

174 template <typename DerivedCCG, typename FuncTy, typename CallTy>
206 const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>;
208 const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>;
223 /// Represents a callsite clone via CallTy and clone number pair.
224 struct CallInfo final : public std::pair<CallTy, unsigned /*Clone number*/> {
225 using Base = std::pair<CallTy, unsigned>;
227 CallInfo(CallTy Call = nullptr, unsigned CloneNo = 0)
230 CallTy call() const { return this->first; }
531 CallTy Call;
593 calleesMatch(CallTy Call, EdgeIter &EI,
598 const FuncTy *getCalleeFunc(CallTy Call) {
606 CallTy Call, const FuncTy *Func, const FuncTy *CallerFunc,
607 std::vector<std::pair<CallTy, FuncTy *>> &FoundCalleeChain) {
613 bool sameCallee(CallTy Call1, CallTy Call2) {
619 std::vector<uint64_t> getStackIdsWithContextNodesForCall(CallTy Call) {
625 uint64_t getLastStackId(CallTy Call) {
658 std::string getLabel(const FuncTy *Func, const CallTy Call,
754 template <typename DerivedCCG, typename FuncTy, typename CallTy>
756 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode;
757 template <typename DerivedCCG, typename FuncTy, typename CallTy>
759 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge;
760 template <typename DerivedCCG, typename FuncTy, typename CallTy>
762 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::FuncInfo;
763 template <typename DerivedCCG, typename FuncTy, typename CallTy>
765 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::CallInfo;
947 template <typename DerivedCCG, typename FuncTy, typename CallTy>
950 const std::vector<std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>>>
958 const std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>> &r) {
974 template <typename DerivedCCG, typename FuncTy, typename CallTy>
977 const ContextNode<DerivedCCG, FuncTy, CallTy> *Clone) {
978 const ContextNode<DerivedCCG, FuncTy, CallTy> *Node = Clone->CloneOf;
984 DenseMap<const ContextNode<DerivedCCG, FuncTy, CallTy> *, uint8_t>
1011 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1012 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
1013 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForInst(
1022 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1023 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
1024 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForAlloc(
1029 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1030 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
1031 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getNodeForStackId(
1039 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1040 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
1056 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1057 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::removeEdgeFromGraph(
1084 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1086 DerivedCCG, FuncTy, CallTy>::removeNoneTypeCalleeEdges(ContextNode *Node) {
1097 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1099 DerivedCCG, FuncTy, CallTy>::removeNoneTypeCallerEdges(ContextNode *Node) {
1111 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1112 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge *
1113 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
1121 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1122 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge *
1123 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
1131 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1132 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
1142 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1143 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::
1153 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1154 uint8_t CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::computeAllocType(
1168 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1170 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::intersectAllocTypesImpl(
1187 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1188 uint8_t CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::intersectAllocTypes(
1197 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1198 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
1199 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::addAllocNode(
1224 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1226 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::addStackNodesForMIB(
1276 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1278 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::duplicateContextIds(
1292 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1293 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
1332 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1333 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::connectNewNode(
1377 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1379 const std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>> &Edge) {
1386 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1387 static void checkNode(const ContextNode<DerivedCCG, FuncTy, CallTy> *Node,
1402 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
1418 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
1429 DenseSet<ContextNode<DerivedCCG, FuncTy, CallTy> *> NodeSet;
1436 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1437 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
1620 checkNode<DerivedCCG, FuncTy, CallTy>(NewNode, /*CheckEdges=*/true);
1625 checkNode<DerivedCCG, FuncTy, CallTy>(CurNode, /*CheckEdges=*/true);
1631 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1632 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::updateStackNodes() {
1954 template <typename DerivedCCG, typename FuncTy, typename CallTy>
1957 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::getStackIdsWithContextNodes(
2138 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2140 CallTy>::handleCallsitesWithMultipleTargets() {
2259 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2260 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::partitionCallsByCallee(
2393 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2394 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::calleesMatch(
2395 CallTy Call, EdgeIter &EI,
2402 std::vector<std::pair<CallTy, FuncTy *>> FoundCalleeChain;
2766 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2767 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::dump()
2773 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2774 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode::print(
2816 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2817 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge::dump()
2823 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2824 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextEdge::print(
2835 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2836 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::dump() const {
2840 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2841 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::print(
2844 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2853 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2854 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::printTotalSizes(
2856 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2887 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2888 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::check() const {
2889 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2891 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
2893 checkEdge<DerivedCCG, FuncTy, CallTy>(Edge);
2897 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2898 struct GraphTraits<const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *> {
2899 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
2900 using NodeRef = const ContextNode<DerivedCCG, FuncTy, CallTy> *;
2902 using NodePtrTy = std::unique_ptr<ContextNode<DerivedCCG, FuncTy, CallTy>>;
2921 using EdgePtrTy = std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>>;
2922 static const ContextNode<DerivedCCG, FuncTy, CallTy> *
2929 DerivedCCG, FuncTy, CallTy>>>::const_iterator,
2941 template <typename DerivedCCG, typename FuncTy, typename CallTy>
2942 struct DOTGraphTraits<const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *>
2946 using GraphType = const CallsiteContextGraph<DerivedCCG, FuncTy, CallTy> *;
3036 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3037 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::exportToDot(
3043 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3044 typename CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::ContextNode *
3045 CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::moveEdgeToNewCalleeClone(
3059 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3060 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
3164 checkNode<DerivedCCG, FuncTy, CallTy>(OldCallee, /*CheckEdges=*/false);
3165 checkNode<DerivedCCG, FuncTy, CallTy>(NewCallee, /*CheckEdges=*/false);
3167 checkNode<DerivedCCG, FuncTy, CallTy>(OldCalleeEdge->Callee,
3170 checkNode<DerivedCCG, FuncTy, CallTy>(NewCalleeEdge->Callee,
3175 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3176 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
3247 checkNode<DerivedCCG, FuncTy, CallTy>(OldCaller, /*CheckEdges=*/false);
3248 checkNode<DerivedCCG, FuncTy, CallTy>(NewCaller, /*CheckEdges=*/false);
3250 checkNode<DerivedCCG, FuncTy, CallTy>(OldCallerEdge->Caller,
3253 checkNode<DerivedCCG, FuncTy, CallTy>(NewCallerEdge->Caller,
3258 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3259 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::
3284 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3285 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::identifyClones() {
3306 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3307 void CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::identifyClones(
3311 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
3461 allocTypesMatch<DerivedCCG, FuncTy, CallTy>(
3484 if (BothSingleAlloc || allocTypesMatchClone<DerivedCCG, FuncTy, CallTy>(
3509 checkNode<DerivedCCG, FuncTy, CallTy>(Node, /*CheckEdges=*/false);
3663 template <typename DerivedCCG, typename FuncTy, typename CallTy>
3664 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::assignFunctions() {
3745 checkNode<DerivedCCG, FuncTy, CallTy>(Clone);
4057 checkNode<DerivedCCG, FuncTy, CallTy>(Node);
4059 checkNode<DerivedCCG, FuncTy, CallTy>(PE->Callee);
4061 checkNode<DerivedCCG, FuncTy, CallTy>(CE->Caller);
4063 checkNode<DerivedCCG, FuncTy, CallTy>(Clone);
4065 checkNode<DerivedCCG, FuncTy, CallTy>(PE->Callee);
4067 checkNode<DerivedCCG, FuncTy, CallTy>(CE->Caller);
4796 template <typename DerivedCCG, typename FuncTy, typename CallTy>
4797 bool CallsiteContextGraph<DerivedCCG, FuncTy, CallTy>::process() {