WEKO3
アイテム
A Retargetable Code Generator for the Generic Intermediate Language in COINS
https://ipsj.ixsq.nii.ac.jp/records/16595
https://ipsj.ixsq.nii.ac.jp/records/1659510fd7653-1069-4e23-834b-78233b8db5c2
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
|
Copyright (c) 2005 by the Information Processing Society of Japan
|
|
| オープンアクセス | ||
| Item type | Trans(1) | |||||||
|---|---|---|---|---|---|---|---|---|
| 公開日 | 2005-10-15 | |||||||
| タイトル | ||||||||
| タイトル | A Retargetable Code Generator for the Generic Intermediate Language in COINS | |||||||
| タイトル | ||||||||
| 言語 | en | |||||||
| タイトル | A Retargetable Code Generator for the Generic Intermediate Language in COINS | |||||||
| 言語 | ||||||||
| 言語 | eng | |||||||
| キーワード | ||||||||
| 主題Scheme | Other | |||||||
| 主題 | 通常論文 | |||||||
| 資源タイプ | ||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
| 資源タイプ | journal article | |||||||
| 著者所属 | ||||||||
| Graduate School of Information Science and Technology the University of Tokyo | ||||||||
| 著者所属 | ||||||||
| Graduate School of Information Science and Technology the University of Tokyo | ||||||||
| 著者所属 | ||||||||
| Faculty of Computer and Information Sciences Housei University | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Graduate School of Information Science and Technology the University of Tokyo | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Graduate School of Information Science and Technology the University of Tokyo | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Faculty of Computer and Information Sciences Housei University | ||||||||
| 著者名 |
Seika, Abe
Masami, Hagiya
Ikuo, Nakata
× Seika, Abe Masami, Hagiya Ikuo, Nakata
|
|||||||
| 著者名(英) |
Seika, Abe
Masami, Hagiya
Ikuo, Nakata
× Seika, Abe Masami, Hagiya Ikuo, Nakata
|
|||||||
| 論文抄録 | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | This paper describes a generic intermediate language called LIR and a retargetable code generator for LIR both of which were developed as part of the compiler for the COINS (COmpiler INfraStructure) project. Although the purpose and basic concepts of LIR are similar to those of RTL the intermediate language of GCC LIR is defined as an independent and self-contained programming language that has the constructs of a high-level language such as variable declarations and their formal semantics. As a result LIR has several advantages over other representations currently in use. We can describe all compiler back-end passes as program transformations. Consequently LIR provides a concise interface for interaction with the compiler for users who want to replace part of the compiler with their code. Most of the recently developed retargetable code generators such as Burg IBurg etc. are based on the DP matching method. Their machine description language consists of rewriting rules with code generation actions. However the rules that are used to describe a machine do not correspond directly to any of the existing instructions of the target machine. On the other hand the description language of GCC consists of descriptive statements that correspond to each of the target’s existing machine instructions. However the GCC code generator does not produce optimal code because it is not based on the DP method. Our code generator makes use of both the DP and GCC methods by translating the GCC descriptive statements into rewriting rules that are suitable for use by the DP matching method. Furthermore DP matching is also implemented as a kind of transformation of an LIR program and later transformations such as register allocation are applied to the resulting LIR program. | |||||||
| 論文抄録(英) | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | This paper describes a generic intermediate language, called LIR, and a retargetable code generator for LIR, both of which were developed as part of the compiler for the COINS (COmpiler INfraStructure) project. Although the purpose and basic concepts of LIR are similar to those of RTL, the intermediate language of GCC, LIR is defined as an independent and self-contained programming language that has the constructs of a high-level language, such as variable declarations, and their formal semantics. As a result, LIR has several advantages over other representations currently in use. We can describe all compiler back-end passes as program transformations. Consequently, LIR provides a concise interface for interaction with the compiler for users who want to replace part of the compiler with their code. Most of the recently developed, retargetable code generators, such as Burg, IBurg, etc., are based on the DP matching method. Their machine description language consists of rewriting rules with code generation actions. However, the rules that are used to describe a machine do not correspond directly to any of the existing instructions of the target machine. On the other hand, the description language of GCC consists of descriptive statements that correspond to each of the target’s existing machine instructions. However, the GCC code generator does not produce optimal code because it is not based on the DP method. Our code generator makes use of both the DP and GCC methods by translating the GCC descriptive statements into rewriting rules that are suitable for use by the DP matching method. Furthermore, DP matching is also implemented as a kind of transformation of an LIR program, and later transformations such as register allocation are applied to the resulting LIR program. | |||||||
| 書誌レコードID | ||||||||
| 収録物識別子タイプ | NCID | |||||||
| 収録物識別子 | AA11464814 | |||||||
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 46, 号 SIG14(PRO27), p. 12-29, 発行日 2005-10-15 |
|||||||
| ISSN | ||||||||
| 収録物識別子タイプ | ISSN | |||||||
| 収録物識別子 | 1882-7802 | |||||||
| 出版者 | ||||||||
| 言語 | ja | |||||||
| 出版者 | 情報処理学会 | |||||||