マシンコード変換による最適化コンパイラ  [in Japanese] Optimization through Machine Code Transformation  [in Japanese]

Abstract

移植可能コンパイラは通常、マシンに依存しない中間コードを生成し、それからコード生成部でマシンコードを生成する。移植のときにはコード生成部だけを書き換える。ところが、最適化されたコードを、生成するためには、コード生成部で多くの場合分けが必要で、しかもマシンにより異なるので、移植は実際には容易ではない。マシンに依存しない最適化を中間コードに対して行うこともあるが、中間コードが複雑になって、コード生成部の書き換えはさらに困難になる。コード生成後に、マシンの記述に従って覗穴的最適化(peephole optimization)を行うものもある。オプティマイザ自体はマシン非依存だが、特定のマシン向けのコンパイラに匹敵する性能がでる。このようにした場合の利点は、コード生成部は単純な中間コードから単純なマシンコードへの変換でよいこと、マシンに依存した共通部分式など、コード生成前には発見できないような最適化を行えることである。しかし、マシンコードに対する最適化では、以下で述べるように、通常あまり表に出て来なかった問題を含んでおり、既存のオプティマイザでは、適当な仮定をおいて問題を避けている。ここでは、現在製作中の、マシンコードの最適化を行うコンパイラの概要を述べ、問題点と解決方法を示す。

Journal

全国大会講演論文集   [List of Volumes]

全国大会講演論文集 第37回昭和63年後期(1), 633-634, 1988-09-12  [Table of Contents]

Information Processing Society of Japan (IPSJ)

Preview

Preview

Codes

  • NII Article ID (NAID) :
    110002895156
  • NII NACSIS-CAT ID (NCID) :
    AN00349328
  • Text Lang :
    JPN
  • Databases :
    NII-ELS