From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29527 invoked by alias); 29 Oct 2019 13:31:34 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 29518 invoked by uid 89); 29 Oct 2019 13:31:33 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.1 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:3406 X-HELO: mx1.suse.de Received: from mx2.suse.de (HELO mx1.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 29 Oct 2019 13:31:32 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 07548B4B2; Tue, 29 Oct 2019 13:31:29 +0000 (UTC) From: =?UTF-8?Q?Martin_Li=c5=a1ka?= Subject: [PATCH] Pass memory statistics for {symbol,call}_summary. To: gcc-patches@gcc.gnu.org Cc: Jan Hubicka X-Pep-Version: 2.0 Message-ID: <74ba5a95-f15d-4fab-b325-9c12d07a2ce0@suse.cz> Date: Tue, 29 Oct 2019 13:33:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------9038145F540F744E556DEC38" X-IsSubscribed: yes X-SW-Source: 2019-10/txt/msg02052.txt.bz2 This is a multi-part message in MIME format. --------------9038145F540F744E556DEC38 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 501 Hi. The pass passes memory allocation location to underlying hash_map (and vec). Patch can bootstrap on x86_64-linux-gnu and survives regression tests. Ready to be installed? Thanks, Martin gcc/ChangeLog: 2019-10-29 Martin Liska * symbol-summary.h (function_summary): Pass memory location to underlaying hash_map (or vec). (V>::fast_function_summary): Likewise. --- gcc/symbol-summary.h | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) --------------9038145F540F744E556DEC38 Content-Type: text/x-patch; charset=UTF-8; name="0001-Pass-memory-statistics-for-symbol-call-_summary.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename*0="0001-Pass-memory-statistics-for-symbol-call-_summary.patch" Content-length: 3079 diff --git a/gcc/symbol-summary.h b/gcc/symbol-summary.h index a0bacadb63b..cc28b409e32 100644 --- a/gcc/symbol-summary.h +++ b/gcc/symbol-summary.h @@ -131,7 +131,7 @@ class GTY((user)) function_summary : public functi= on_summary_base { public: /* Default construction takes SYMTAB as an argument. */ - function_summary (symbol_table *symtab, bool ggc =3D false); + function_summary (symbol_table *symtab, bool ggc =3D false CXX_MEM_STAT_= INFO); =20 /* Destructor. */ virtual ~function_summary () @@ -222,8 +222,11 @@ private: }; =20 template -function_summary::function_summary (symbol_table *symtab, bool ggc): - function_summary_base (symtab), m_ggc (ggc), m_map (13, ggc) +function_summary::function_summary (symbol_table *symtab, bool ggc + MEM_STAT_DECL): + function_summary_base (symtab), m_ggc (ggc), m_map (13, ggc, true, + GATHER_STATISTICS + PASS_MEM_STAT) { this->m_symtab_insertion_hook =3D this->m_symtab->add_cgraph_insertion_hook (function_summary::symta= b_insertion, @@ -340,7 +343,7 @@ class GTY((user)) fast_function_summary { public: /* Default construction takes SYMTAB as an argument. */ - fast_function_summary (symbol_table *symtab); + fast_function_summary (symbol_table *symtab CXX_MEM_STAT_INFO); =20 /* Destructor. */ virtual ~fast_function_summary () @@ -429,10 +432,10 @@ private: }; =20 template -fast_function_summary::fast_function_summary (symbol_table *symtab= ): +fast_function_summary::fast_function_summary (symbol_table *symtab= MEM_STAT_DECL): function_summary_base (symtab), m_vector (NULL) { - vec_alloc (m_vector, 13); + vec_alloc (m_vector, 13 PASS_MEM_STAT); this->m_symtab_insertion_hook =3D this->m_symtab->add_cgraph_insertion_hook (fast_function_summary::= symtab_insertion, this); @@ -633,8 +636,11 @@ class GTY((user)) call_summary : public call_summ= ary_base { public: /* Default construction takes SYMTAB as an argument. */ - call_summary (symbol_table *symtab, bool ggc =3D false) - : call_summary_base (symtab), m_ggc (ggc), m_map (13, ggc) + call_summary (symbol_table *symtab, bool ggc =3D false + CXX_MEM_STAT_INFO) + : call_summary_base (symtab), m_ggc (ggc), m_map (13, ggc, true, + GATHER_STATISTICS + PASS_MEM_STAT) { this->m_symtab_removal_hook =3D this->m_symtab->add_edge_removal_hook (call_summary::symtab_remo= val, @@ -812,10 +818,10 @@ class GTY((user)) fast_call_summary : public = call_summary_base { public: /* Default construction takes SYMTAB as an argument. */ - fast_call_summary (symbol_table *symtab) + fast_call_summary (symbol_table *symtab CXX_MEM_STAT_INFO) : call_summary_base (symtab), m_vector (NULL) { - vec_alloc (m_vector, 13); + vec_alloc (m_vector, 13 PASS_MEM_STAT); this->m_symtab_removal_hook =3D this->m_symtab->add_edge_removal_hook (fast_call_summary::symtab= _removal, this); --------------9038145F540F744E556DEC38 Content-Type: application/pgp-keys; name="pEpkey.asc" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="pEpkey.asc" Content-length: 1881 -----BEGIN PGP PUBLIC KEY BLOCK-----=0A= =0A= mQENBF24BRcBCACnwGX2UUZQ8/uaAVSEMe7a/6K87GDH8z9ErnoTd7EtyAkEbrXj=0A= XlIQDA88MV+xZnmqrWJmFLflpHgJWkjcXMetmLIke0dmAlpcXmpnj/zJ/ilxBM8x=0A= qbT8sIrzjQNl5ogDEspvMKod5gWEB2lGpoSaT819m1KxddlEo+4rdbvL0UEQw5Tu=0A= t+8B3GbhoDUPKWSWG6ZePw20db3NTLwdYIYkMD9D/XzRVAiFupu3iU1XAUnDdgvr=0A= 4/VdcQ8tIe7tXN335q/KAAkCi+9QNJhIwvtnryqiDqQVR1j4HMrI0yYoklazm8ff=0A= DxiLBmMLvG2AeoYaJzR+NjGOUAlHTL4Ssr5JABEBAAG0Hk1hcnRpbiBMacWha2Eg=0A= PG1saXNrYUBzdXNlLmN6PokBVAQTAQgAPhYhBLbsYAiki2l3o2dKjR+2PtmiLRUs=0A= BQJduAUYAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEB+2Ptmi=0A= LRUsn3wH/i0RXFHr+ONj3mnh0N13xUY43FDB9lxJgEKBui5VdG4/JAjjZSPPv1yC=0A= eKSHQfKNekVfTJ8zpTVYi4CpdSQnULX54WX8rcsdMAwTFWG3n9HKDN6OOuvv7MVd=0A= 0dkWU2U7nQTKyyZxyI9B03bbgvG1Euww3bWDcO92i7PSa5WtLQT+ynZ8bqZi3fqU=0A= s2qpjx2bOddDO93jiRhgnTXWUDa2OvtKtcgui3Y4uJVb21Hjk01vXrWcaQ8SXMbU=0A= 7bap+z31FoBpue+VZ5Q8FJy7PvQOiAO4seonl/DIqlqaGR7TrXtz73pgjVgMRLnW=0A= sncEQCDEMGVX2y7EaG46vf3SQuEdvdO5AQ0EXbgFFwEIAK1HSdqWr3IE4D0ID8j2=0A= huZGOSwVPiohhdR1byr7rFVqzh8vIwlwS4K3QFDyZv12spJWbA79+9bAndFeFkKe=0A= WGzv8IYfELVrnk/M8P7mJSagHDUA9ZOLMamGvav9FZSgiUe68aEm4F/U248jxnsa=0A= QuZtR2GULIoIA2VpDiEqsmcX41shDDaWYlWM7dc2aXU6TcLq1h6iRIIf1vPuRL7/=0A= KBrmIblngfkGCNUJQalASKQZleZ9mLZob5Qz6lLO96SFVe+s03ANY0DbibRBYC6z=0A= w049hhoq4p0mRmXxH5Dt7qdCvwOGIvLHpnl/JqYdOukW4dw0jAst/3xFyB6UdMWP=0A= i70AEQEAAYkBPAQYAQgAJhYhBLbsYAiki2l3o2dKjR+2PtmiLRUsBQJduAUXAhsM=0A= BQkB4TOAAAoJEB+2PtmiLRUsdv4H/2s4uD2Z1owBAIN/ypl+cr8VLNLFi1qv7HSV=0A= barSCfGht1fOxGi/Sy+ZVz/Kvqi591oht5QkYIsaWD+ZrdSOcBWo+/VYsHedmcja=0A= 9KB+Y9e+L0EGId0tNAPfiL2im6juACFFi5XCRJAUBxsKagfdp14jIQ26crXD9zVW=0A= spRqVVD7DSXUiRLpA7ku3rV/2DAuqG25t0nt01HNgRVEkkR6gZGnym+7M0tTFVEN=0A= Us1YmkOHZ0zVv+RjUzYEClK3YN0vF7NsyfN0YZAitxVrYkYAWMaowURB9gs3Htqt=0A= bN4ZIbZWHIP1abEG6IadPiZcmQlfxgPHxC4SWxF2/T1qbt3LvOs=3D=0A= =3DGdKU=0A= -----END PGP PUBLIC KEY BLOCK-----=0A= --------------9038145F540F744E556DEC38--