Inline Analysis Beyond Selection Heuristics
Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However, other equally important aspects of inline analysis such as call-site analysis order, indirect effects of inlining, and selection of the most...
Uloženo v:
| Vydáno v: | Fourth IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2006): 26-29 March 2006/New York, New York s. 221 - 232 |
|---|---|
| Hlavní autoři: | , |
| Médium: | Konferenční příspěvek |
| Jazyk: | angličtina |
| Vydáno: |
Washington, DC, USA
IEEE Computer Society
26.03.2006
IEEE |
| Edice: | ACM Conferences |
| Témata: | |
| ISBN: | 0769524990, 9780769524993 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However, other equally important aspects of inline analysis such as call-site analysis order, indirect effects of inlining, and selection of the most profitable version of a procedure warrant more attention. This paper evaluates a number of different sequences in which call-sites are examined for inlining and shows that choosing the correct order is crucial to obtaining the best run-time performance. We then present a novel, work-list-based, and updated sequence that achieves the best results. While applying cross-module inline analysis on large applications with thousands of files and millions of lines of code, we separate the analysis from the transformation phase and allow the former to work solely on summary information in order to reduce compile-time and memory consumption. A focus of this paper is to enumerate the summaries that our compiler maintains, present a technique to compute the goodness factor on which the work-list sequence is based, and describe methods to continuously update the summaries as and when a call-site is accepted for inlining. We then introduce inline specialization, a new technique that facilitates inlining into call chains selectively. The power of inline specialization lies in its ability to choose the most profitable version of the called procedure without having to maintain multiple versions at any point of time. We discuss implementation of these techniques in the HPUX Itanium production compiler and present experimental results showing that a dynamic work-list based analysis order, comprehensive summary updates, and inline specialization significantly improve performance of applications. |
|---|---|
| AbstractList | Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However, other equally important aspects of inline analysis such as call-site analysis order, indirect effects of inlining, and selection of the most profitable version of a procedure warrant more attention. This paper evaluates a number of different sequences in which call-sites are examined for inlining and shows that choosing the correct order is crucial to obtaining the best run-time performance. We then present a novel, work-list-based, and updated sequence that achieves the best results. While applying cross-module inline analysis on large applications with thousands of files and millions of lines of code, we separate the analysis from the transformation phase and allow the former to work solely on summary information in order to reduce compile-time and memory consumption. A focus of this paper is to enumerate the summaries that our compiler maintains, present a technique to compute the goodness factor on which the work-list sequence is based, and describe methods to continuously update the summaries as and when a call-site is accepted for inlining. We then introduce inline specialization, a new technique that facilitates inlining into call chains selectively. The power of inline specialization lies in its ability to choose the most profitable version of the called procedure without having to maintain multiple versions at any point of time. We discuss implementation of these techniques in the HPUX Itanium production compiler and present experimental results showing that a dynamic work-list based analysis order, comprehensive summary updates, and inline specialization significantly improve performance of applications. Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However, other equally important aspects of inline analysis such as call-site analysis order, indirect effects of inlining, and selection of the most profitable version of a procedure warrant more attention. This paper evaluates a number of different sequences in which call-sites are examined for inlining and shows that choosing the correct order is crucial to obtaining the best run-time performance. We then present a novel, work-list-based, and updated sequence that achieves the best results. While applying cross-module inline analysis on large applications with thousands of files and millions of lines of code, we separate the analysis from the transformation phase and allow the former to work solely on summary information in order to reduce compile-time and memory consumption. A focus of this paper is to enumerate the summaries that our compiler maintains, present a technique to compute the goodness factor on which the work-list sequence is based, and describe methods to continuously update the summaries as and when a call-site is accepted for inlining. We then introduce inline specialization, a new technique that facilitates inlining into call chains selectively. The power of inline specialization lies in its ability to choose the most profitable version of the called procedure without having to maintain multiple versions at any point of time. We discuss implementation of these techniques in the HPUX Itanium/spl reg/ production compiler and present experimental results showing that a dynamic work-list based analysis order, comprehensive summary updates, and inline specialization significantly improve performance of applications. |
| Author | Liu, Shin-Ming Chakrabarti, Dhruva R. |
| Author_xml | – sequence: 1 givenname: Dhruva R. surname: Chakrabarti fullname: Chakrabarti, Dhruva R. organization: Hewlett-Packard Company – sequence: 2 givenname: Shin-Ming surname: Liu fullname: Liu, Shin-Ming organization: Hewlett-Packard Company |
| BookMark | eNqNkL1OwzAYRS0BErRUDIwsDIgBKeH7Ysc_YxWVUqlSF5gtO7YlQ35K3A59e1KFB-Aud7hHdzgzctn1nSfkHiFHBPVarXd5AcBzFBdkBoKrsmBKwTVZpPQFY1iJwPCG3G26Jnb-cdmZ5pRiuiVXwTTJL_56Tj7fVh_Ve7bdrTfVcpuZQsAhUy5wy8AWMgB1xrjSBKkU5YI74GCsYSAcGI9OYR2YcgVKpAqF5HVtPZ2T5-l3P_Q_R58Ouo2p9k1jOt8fk6ZIBZVcjuDDBEbvvd4PsTXDSSNHLBkd16dpNXWrbd9_J42gzw706ECfHWgUI_byD0zbIfpAfwFbGVr3 |
| ContentType | Conference Proceeding |
| DBID | 6IE 6IL CBEJK RIE RIL 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1109/CGO.2006.17 |
| DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE Electronic Library (IEL) IEEE Proceedings Order Plans (POP All) 1998-Present Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| EndPage | 232 |
| ExternalDocumentID | 1611543 |
| Genre | orig-research Conference Paper |
| GroupedDBID | 6IE 6IF 6IK 6IL 6IN AAJGR AARBI ACM ADPZR ALMA_UNASSIGNED_HOLDINGS APO BEFXN BFFAM BGNUA BKEBE BPEOZ CBEJK GUFHI OCL RIB RIC RIE RIL AAWTH LHSKQ 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-a270t-9df6b40b28f03daad5af8993676d060aba407d0ae1d91cf49d2181391786ccbe3 |
| IEDL.DBID | RIE |
| ISBN | 0769524990 9780769524993 |
| ISICitedReferencesCount | 3 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000237247000018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| IngestDate | Fri Jul 11 01:24:49 EDT 2025 Wed Aug 27 02:28:20 EDT 2025 Wed Jan 31 06:44:48 EST 2024 |
| IsPeerReviewed | false |
| IsScholarly | true |
| Language | English |
| LinkModel | DirectLink |
| MeetingName | CGO06: 4th Annual IEEE / ACM International Symposium on Code Generation and Optimization |
| MergedId | FETCHMERGED-LOGICAL-a270t-9df6b40b28f03daad5af8993676d060aba407d0ae1d91cf49d2181391786ccbe3 |
| Notes | SourceType-Conference Papers & Proceedings-1 ObjectType-Conference Paper-1 content type line 25 |
| PQID | 31373868 |
| PQPubID | 23500 |
| PageCount | 12 |
| ParticipantIDs | acm_books_10_1109_CGO_2006_17 ieee_primary_1611543 proquest_miscellaneous_31373868 acm_books_10_1109_CGO_2006_17_brief |
| PublicationCentury | 2000 |
| PublicationDate | 20060326 20060000 |
| PublicationDateYYYYMMDD | 2006-03-26 2006-01-01 |
| PublicationDate_xml | – month: 03 year: 2006 text: 20060326 day: 26 |
| PublicationDecade | 2000 |
| PublicationPlace | Washington, DC, USA |
| PublicationPlace_xml | – name: Washington, DC, USA |
| PublicationSeriesTitle | ACM Conferences |
| PublicationTitle | Fourth IEEE/ACM International Symposium on Code Generation and Optimization (CGO 2006): 26-29 March 2006/New York, New York |
| PublicationTitleAbbrev | CGO |
| PublicationYear | 2006 |
| Publisher | IEEE Computer Society IEEE |
| Publisher_xml | – name: IEEE Computer Society – name: IEEE |
| SSID | ssj0000451041 |
| Score | 1.6296663 |
| Snippet | Research on procedure inlining has mainly focused on heuristics that decide whether inlining a particular call-site maximizes application performance. However,... |
| SourceID | proquest ieee acm |
| SourceType | Aggregation Database Publisher |
| StartPage | 221 |
| SubjectTerms | Information analysis Iron Java Laboratories Optimizing compilers Performance analysis Production Profitability Runtime Scalability Software and its engineering -- Software creation and management -- Designing software -- Software implementation planning -- Software design techniques Software and its engineering -- Software creation and management -- Software development process management Software and its engineering -- Software notations and tools -- Compilers Software and its engineering -- Software notations and tools -- General programming languages -- Language features -- Procedures, functions and subroutines |
| Subtitle | Beyond Selection Heuristics |
| Title | Inline Analysis |
| URI | https://ieeexplore.ieee.org/document/1611543 https://www.proquest.com/docview/31373868 |
| WOSCitedRecordID | wos000237247000018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1BT4MwFH7ZFg-e1GxG1CmJHodrKaPU6-LUxMwd1OzWtLSNHmRmDH-_bUF20Jh4gxAS8ih873uv3_cALjXBIrN0J0oUFlGSIRGJiWWtIiUpZTozzPtsvzzQ-TxbLtmiA6NWC6O19pvP9JU79L18tcorVyob2-zEIj7pQpfStNZqtfUU55OCElwzczaxrII1lk7tOWn0eRix8fT2se5EYI9L-XszXeXHL9njzGzvf0-4D4OtYC9ctFB0AB1d9GF0710wQtH4jlyH0stVwtLPvrEvJHzVVePUPIDn2c3T9C5qhiNEIqZoEzFlUpkgGWcGESWEmghjuZMzYFMoRUIKS9UUEhorhnOTMOXAnFh2lqV5LjU5hF6xKvQRhJISalhObTKj7PcsWRxneaKlQUYhg-IAhjZA3GX9JfekATFuA-hGWKYc0wAu_rzOpWX9JoC-ixf_qF00eBOqAM6_A87tynbtClHoVVVygp3rUpod_37jCexuyyGn0NusKz2Enfxz81auz_zi-AJ1ybLH |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1BT8IwFH5BNNGTGjBORZbokUm7jm31SkSIiBzQcGvatY0eBMOYv9-2zHHQmHjbsixZvnV773uv3_cArhXBPDV0J4gk5kGUIh7wnmGtPCZxQlWqqfPZfhknk0k6n9NpDTqVFkYp5TafqRt76Hr5cpkVtlTWNdmJifhkB3bt5KxSrVVVVKxTCorwhpvTnuEVtDR1qs5JqdDDiHb790-bXgR2kSl7L-er_Pgpu0gzOPzfMx5BcyvZ86dVMDqGmlo0oDNyPhg-L51Hbn3hBCt-7qbfmFfiv6qi9GpuwvPgbtYfBuV4hICHCVoHVOpYREiEqUZEci57XBv2ZC3YJIoRF9yQNYm4wpLiTEdU2nBODD9L4ywTipxAfbFcqFPwRUISTbPEpDPSfNGChmGaRUpopCXSKPSgZQBiNu_PmaMNiDIDoB1iGTOceHD153UmDO_XHjQsXuxj46PBSqg8aH8Dzszatg0LvlDLImcEW9-lOD37_cY27A9nj2M2Hk0ezuFgWxy5gPp6VagW7GWf67d8dekWyhf5tLYQ |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+of+the+International+Symposium+on+Code+Generation+and+Optimization&rft.atitle=Inline+Analysis&rft.au=Chakrabarti%2C+Dhruva+R.&rft.au=Liu%2C+Shin-Ming&rft.series=ACM+Conferences&rft.date=2006-03-26&rft.pub=IEEE+Computer+Society&rft.isbn=0769524990&rft.spage=221&rft.epage=232&rft_id=info:doi/10.1109%2FCGO.2006.17 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9780769524993/sc.gif&client=summon&freeimage=true |

