Graphs and Gating Functions
Many compilers represent the input program as some form of graph in order to support analysis and transformation. Over time, a cornucopia of program graphs have been presented in the literature and subsequently implemented in real compilers. Many of these graphs use SSA concepts as the core principl...
Saved in:
| Published in | SSA-based Compiler Design pp. 185 - 199 |
|---|---|
| Main Authors | , |
| Format | Book Chapter |
| Language | English |
| Published |
Cham
Springer International Publishing
2022
|
| Subjects | |
| Online Access | Get full text |
| ISBN | 303080514X 9783030805142 |
| DOI | 10.1007/978-3-030-80515-9_14 |
Cover
| Abstract | Many compilers represent the input program as some form of graph in order to support analysis and transformation. Over time, a cornucopia of program graphs have been presented in the literature and subsequently implemented in real compilers. Many of these graphs use SSA concepts as the core principle of their representation, ranging from literal translations of SSA into graph form to more abstract graphs that are implicitly in SSA form. We aim to introduce a selection of program graphs that use these SSA concepts, and examine how they may be useful to a compiler writer. A well-known graph representation is the control-flow graph (CFG) that we encountered at the beginning of the book in the introduction to the core concept of SSA. The CFG models control flow in a program, but the graphs that we will study instead model data flow. This is useful as a large number of compiler optimizations are based on data-flow analysis. In fact, all graphs that we consider in this chapter are data-flow graphs. In this chapter, we will look at a number of SSA-based graph representations. An introduction to each graph will be given, along with diagrams to show how sample programs look when translated into that particular graph. Additionally, we will describe the techniques that each graph was created to solve, with references to the literature for further research. |
|---|---|
| AbstractList | Many compilers represent the input program as some form of graph in order to support analysis and transformation. Over time, a cornucopia of program graphs have been presented in the literature and subsequently implemented in real compilers. Many of these graphs use SSA concepts as the core principle of their representation, ranging from literal translations of SSA into graph form to more abstract graphs that are implicitly in SSA form. We aim to introduce a selection of program graphs that use these SSA concepts, and examine how they may be useful to a compiler writer. A well-known graph representation is the control-flow graph (CFG) that we encountered at the beginning of the book in the introduction to the core concept of SSA. The CFG models control flow in a program, but the graphs that we will study instead model data flow. This is useful as a large number of compiler optimizations are based on data-flow analysis. In fact, all graphs that we consider in this chapter are data-flow graphs. In this chapter, we will look at a number of SSA-based graph representations. An introduction to each graph will be given, along with diagrams to show how sample programs look when translated into that particular graph. Additionally, we will describe the techniques that each graph was created to solve, with references to the literature for further research. |
| Author | Rastello, Fabrice Stanier, James |
| Author_xml | – sequence: 1 givenname: James surname: Stanier fullname: Stanier, James email: jamiestanier@gmail.com – sequence: 2 givenname: Fabrice surname: Rastello fullname: Rastello, Fabrice |
| BookMark | eNp9j0FOwzAQRY0ACVpyAljkAgY7Yyf2ElU0RarEBiR21sSx20BwqrgV6u1xW9iyGs3T_zN6E3IRhuAIuePsnjNWPehKUaAMGFVMckm14eKMZAlDgkemz8nkbxHvVySL8YMxVigAJfk1ua1H3KxjjqHNa9x2YZXPd8FuuyHEG3LpsY8u-51T8jZ_ep0t6PKlfp49LumaaxC0KK0VioOwqqy8d9K13oNXhQcoJZYO0zfU0ELjEThHV-nGF6JpLVbKWZgSebq7Cxvcf2Pfm83YfeG4N5yZg6lJSgZM8jBHK3MwTb3i1IspHlZuNM0wfMb_Sz9eQFYz |
| ContentType | Book Chapter |
| Copyright | The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 |
| Copyright_xml | – notice: The Author(s), under exclusive license to Springer Nature Switzerland AG 2022 |
| DBID | ABOKW UNPAY |
| DOI | 10.1007/978-3-030-80515-9_14 |
| DatabaseName | Unpaywall for CDI: Monographs and Miscellaneous Content Unpaywall |
| DatabaseTitleList | |
| Database_xml | – sequence: 1 dbid: UNPAY name: Unpaywall url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/ sourceTypes: Open Access Repository |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering |
| EISBN | 9783030805159 3030805158 |
| Editor | Rastello, Fabrice Bouchez Tichadou, Florent |
| Editor_xml | – sequence: 1 givenname: Fabrice surname: Rastello fullname: Rastello, Fabrice email: fabrice.rastello@inria.fr – sequence: 2 givenname: Florent surname: Bouchez Tichadou fullname: Bouchez Tichadou, Florent email: florent.bouchez-tichadou@imag.fr |
| EndPage | 199 |
| ExternalDocumentID | oai:HAL:hal-04814924v1 |
| GroupedDBID | 38. AABBV AAZWU ABSVR ABTHU ABVND ACBPT ACHZO ACPMC ADNVS AEJLV AEKFX AHVRR AIYYB ALMA_UNASSIGNED_HOLDINGS BBABE CZZ IEZ SBO TPJZQ Z83 ABOKW UNPAY |
| ID | FETCH-LOGICAL-h1934-26cc48134c867ffe5edff3f82f3365a6ea283a93d3bfa311ae79bf24bdca78ec3 |
| IEDL.DBID | UNPAY |
| ISBN | 303080514X 9783030805142 |
| IngestDate | Sun Oct 26 03:15:39 EDT 2025 Tue Jul 29 20:27:17 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| License | cc-by |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-h1934-26cc48134c867ffe5edff3f82f3365a6ea283a93d3bfa311ae79bf24bdca78ec3 |
| OpenAccessLink | https://proxy.k.utb.cz/login?url=https://inria.hal.science/hal-04814924 |
| PageCount | 15 |
| ParticipantIDs | unpaywall_primary_10_1007_978_3_030_80515_9_14 springer_books_10_1007_978_3_030_80515_9_14 |
| PublicationCentury | 2000 |
| PublicationDate | 2022 |
| PublicationDateYYYYMMDD | 2022-01-01 |
| PublicationDate_xml | – year: 2022 text: 2022 |
| PublicationDecade | 2020 |
| PublicationPlace | Cham |
| PublicationPlace_xml | – name: Cham |
| PublicationTitle | SSA-based Compiler Design |
| PublicationYear | 2022 |
| Publisher | Springer International Publishing |
| Publisher_xml | – name: Springer International Publishing |
| SSID | ssj0002833851 |
| Score | 1.6597259 |
| Snippet | Many compilers represent the input program as some form of graph in order to support analysis and transformation. Over time, a cornucopia of program graphs... |
| SourceID | unpaywall springer |
| SourceType | Open Access Repository Publisher |
| StartPage | 185 |
| SubjectTerms | Code selection Compiler design Control dependence Control-flow graph (CFG) Data-flow graph (DFG) Dead node elimination Demand-driven analysis Extended SSA forms Gated single assignment (GSA) Gating function Parallelization Phi-entry function Phi-if function Program dependence graph (PDG) Program slicing Rematerialization Scalar evolution (SCEV) Static single assignment form (SSA form) Strength reduction Symbolic analysis Value state dependence graph (VSDG) |
| Title | Graphs and Gating Functions |
| URI | http://link.springer.com/10.1007/978-3-030-80515-9_14 https://inria.hal.science/hal-04814924 |
| UnpaywallVersion | submittedVersion |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3PT8IwGP2icDB6UKNG_EF28GY2Ye269UgMYIgSD2Lw1Hzrj5BIJhGI0b_erzAI8aDx1kvb5a3de0u_9wpwlZmUoTSOdlrOQp7QnpMW0zCRUluTxS5reHPyQ1_cDXhvmAzLAtmFF6Yg3KMR6c6SAW6oHfpQE05_CttQFQlp7gpUB_3H1suGF255zE9Llr65xNGhVN6Ysz7d3IWdeTHBzw8cjzcIpLMP3dXUy7qR12g-yyP99SOV8e9nO4A9b08IvG-AIDmELVscwXnX505PAyxM0EVfyRx0iLAWa-oYBp320-1dWF57EI5ITfEwFlrTmIzrTKTO2cQa55gj3BgTCQqLJAlQMsNyh6zZRJvK3MU8NxrTzGp2ApXirbCnEDiBTc3RCC5iLkSGGdqGdg3kqRM6ETW4XgGkvKifqlWKMcGpmCI41QJO5eGsQbTGUE2WYRi_djj7b4cLqMze5_aSeH6W16Haavfun-vly_4GoiOnaw |
| linkProvider | Unpaywall |
| linkToUnpaywall | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3LSgMxFL1ouxBdqKhYX8zCnczYTh4zWYrYFsHiwkJdhTt5ULCMpQ9Ev96bdlqKC8VdNkmGM8mcM-SeE4Dr3GYMlfW00woWc0F7TjnMYqGUcTZPfd4M5uSnnuz2-eNADKoC2YUXpiTckyHpzooBbqkdh1ATTn8K21CXgjR3Der93vPd64YXbnnMT0uWvrnE0bHSwZizPt3chZ15OcbPDxyNNgikvQ-d1dTLupG3ZD4rEvP1I5Xx72c7gL1gT4iCb4AgOYQtVx7BeSfkTk8jLG3UwVDJHLWJsBZr6hj67YeX-25cXXsQD0lN8TiVxtCYjJtcZt474az3zBNujEmB0iFJAlTMssIja7XQZarwKS-swSx3hp1ArXwv3SlEXmLLcLSSy5RLmWOOrml8E3nmpRGyATcrgHQQ9VO9SjEmODXTBKdewKkDnA1I1hjq8TIM49cOZ__tcAG12WTuLonnZ8VV9ZK_AW7NpdY |
| 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=bookitem&rft.title=SSA-based+Compiler+Design&rft.au=Stanier%2C+James&rft.au=Rastello%2C+Fabrice&rft.atitle=Graphs+and+Gating+Functions&rft.date=2022-01-01&rft.pub=Springer+International+Publishing&rft.isbn=9783030805142&rft.spage=185&rft.epage=199&rft_id=info:doi/10.1007%2F978-3-030-80515-9_14 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/lc.gif&client=summon&freeimage=true |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/mc.gif&client=summon&freeimage=true |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9783030805142/sc.gif&client=summon&freeimage=true |