2024-03-29T19:02:56Zhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_oaipmhoai:ipsj.ixsq.nii.ac.jp:001278352023-11-17T02:17:36Z06504:08078:08085
コンパイラにおける生存区間重複検査の高速化に関する一方式A Method of Reducing Time as the Live Range Interfering Check Process in the Compilerjpnhttp://id.nii.ac.jp/1001/00128020/Conference Paperhttps://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=127835&item_no=1&attribute_id=1&file_no=1松下電子工業(株)松下電子工業(株)松下電子工業(株)松下電子工業(株)田中, 旭佐山, 旬子湯川, 博司小谷, 謙介我々は、高経済性と高性能性の両立を追及した組み込みマイコンMN10200シリーズの開発を行っている。MNl0200マイコンは、アドレスレジスタ、データレジスタ、各4本のレジスタ構成を持っている。この構成の利点は、マイコンコア自体のコスト削減が図かれることと、組み込みプログラムが格納されるROMサイズの減少が可能となることである。これは、機械語命令のレジスタ指定フィールドが2ビットで済むので、コンパイラが生成する頻度の高いレジスタ間演算や転送命令等の基本命令を1バイト化することが可能となり、結果的に組み込みプログラムのサイズを小さく抑えることが可能となるからである。しかし、コンパイラにおける変数へのレジスタ割付け処理を工夫しないと、汎用レジスタ構成に比べてかえってレジスタ間やレジスタメモリ間の転送命令が多数発生し上記の利点を活かせなくなる可能性がある。そこで、文献において、MN10200のような少数で使用制限のあるレジスタ構成をもつマイコンの、レジスタ割付け方法の一方式について提案を行った。この方式のように、少数のレジスタに効率よく変数を割付けるためには、変数の値が有効となるプログラム部分である生存区間を精密に求め、かつ変数の使用状況を詳細に調べる必要がある。よって変数の数が多い場合、レジスタ割付け処理の時間も増大する。本稿では、コンパイラのレジスタ割付け処理において必須でありかつ比較的時間を要する、生存区間の重なり検出処理の時間短縮に開して報告する。AN00349328全国大会講演論文集第50回ソフトウェア45461995-03-152015-01-20