LIR : COINSプロジェクトの低水準中間言語
書誌事項
- タイトル別名
-
- Design of a Low - level Intermediate Language in COINS Project
この論文をさがす
抄録
本発表ではCOINS プロジェクトの低水準中間言語LIR の特徴的な部分を説明する.中間言語LIRの目的はGCC のRTL と同様であり,また設計も似ている.一方でLIR はRTL にはない以下のような特徴を持つ.まず関数,ブロック,モジュールという,通常の低水準中間言語には見られない高水準の構造を導入することにより,最適化からコード生成に至るパスをあるモデルの上でのプログラム変換としてとらえることを可能とした.またLIR のドキュメンテーションでは表示的意味論でLIR の意味を記述した.これにより先のモデルが厳密に定義され,またポータブルで信頼性の高い処理系が実現可能となる.LIR はRTL 同様揮発性オブジェクトの表現を持つが,我々はその意味も厳密に定義しているので,揮発性オブジェクトへの誤った最適化を禁止できる.実行中のプログラムは揮発性変数をチャネルとしたプロセスと見なせる.この考えにより揮発性オブジェクトのもう1 つの,そしてより自然な意味付けができるが,一方でそれは大雑把であり実用的ではない.しかし,揮発性オブジェクトに対するこれら2 つの意味は等価であることが示せるので,我々の意味定義は妥当なものといえる.
In this presentation, we briefly introduce essential advantages of the low-level compiler intermediate language LIR used in the project. The purpose and basic concepts of LIR are similar to those of RTL which is the intermediate language of GCC. The advantages of LIR are as follows. First, by employing higher-level constructs, usually absent in low-level compiler intermediate languages, we can describe all of compiler back-end passes, from code optimizations to code generations, as program transformations on a model. Secondly, the documentation of LIR is written by a formal method based on denotational semantics. This will ensure the existence of the model and help implementers write portable and reliable compilers. Finally, LIR has a representation for volatile objects like RTL, but also we rigorously define a semantics for the objects. This will inhibit wrong optimizations for the objects. A running program can be regarded as a process communicating via channels of volatile variables. This view inspires ano ther and more natural semantics of volatile objects; this semantics is, however, too rough to be practically useful. And a proof of equivalence between the two semantics provides adequacy of our semantics for the objects.
収録刊行物
-
- 情報処理学会論文誌プログラミング(PRO)
-
情報処理学会論文誌プログラミング(PRO) 44 (SIG02(PRO16)), 43-43, 2003-02-15
一般社団法人情報処理学会
- Tweet
キーワード
詳細情報 詳細情報について
-
- CRID
- 1050845762820712192
-
- NII論文ID
- 110002772191
-
- NII書誌ID
- AA11464814
-
- ISSN
- 18827802
-
- Web Site
- http://id.nii.ac.jp/1001/00016764/
-
- 本文言語コード
- ja
-
- 資料種別
- article
-
- データソース種別
-
- IRDB
- CiNii Articles