静的単一代入形式を用いた最適化(導入編)(<特集>最新コンパイラ技術とCOINSによる実践)
スポンサーリンク
概要
- 論文の詳細を見る
コンパイラでは,機械語の目的コードを生成するだけでなく,実行させたときにその目的コードが効率良く実行できるように,様々な変換を行う.これを「最適化」という.最適化の方法としては,従来は中間表現の上で変数の定義と使用のデータの流れの解析を行う方法が使われていたが,最近は静的単一代入形式というものを用いた最適化の方法が注目を浴びている.静的単一代入形式(SSA形式)は,すべての変数の使用に対して,その値を定義(代入)している場所がテキスト上1箇所しかないように変数の名前替えをした中間表現の形式である.この性質を利用することにより,いろいろな最適化が見通し良く,容易に行えるようになる.本稿(導入編)では,SSA形式のあらまし,通常形式からSSA形式への変換,SSA形式から通常形式への逆変換について,解説する.
- 2008-01-25
著者
関連論文
- プログラムスライシングに基づく関心事グラフ構築
- 属性文法に基づくテストプログラム生成器の設計と実装
- 属性文法の系統的デバッグ法
- 双方向CTLによるJava最適化器の生成
- VoIPにおける音声品質補償方式の検討
- 質問伝播に基づく投機的部分冗長除去
- 自動的等価性差分の抽出によるSSAコンパイラ最適化器の生成するコードの正しさの検証
- リサーチ9 コンパイラにおける字句解析・構文解析過程の視覚化
- コンパイラにおける構文解析過程の視覚化
- 特集「最新コンパイラ技術とCOINSによる実践」の編集にあたって
- 静的単一代入形式を用いた最適化(発展編)(最新コンパイラ技術とCOINSによる実践)
- 静的単一代入形式を用いた最適化(導入編)(最新コンパイラ技術とCOINSによる実践)
- 部分冗長除去に基づく大域命令スケジューリング
- 式の出現に基づく大域値番号付け
- 部分冗長除去の命令スケジューリングへの応用
- コンパイラ・インフラストラクチャにおける静的単一代入形式最適化部の実現
- 疎な要求駆動型データフロー解析
- 高階移動エージェント向けJavaパッケージの開発 : 関数型言語実装の一手段
- 高階移動エージェントのロボット制御への応用 : 実用システムに向けて
- 一般支配関係の効率的な検査法
- 別名情報に基づくレジスタ促進
- May別名除去
- 別名情報による段階的詳細化に基づいた等価式発見
- 依存グラフを用いたコード移動妨害領域の効果的な除去法
- 拡張値グラフを用いた部分無効コード除去法
- 効率的な完全冗長除去
- 拡張値グラフを用いた部分無効コード除去法
- 拡張値グラフに基づく効果的な部分冗長除去法
- 拡張値グラフに基づくコード最適化 : 定数畳込みと強さの軽減
- 部分的無効コードの効率的除去法
- φ-関数移動による効率的な部分的冗長計算除去
- データフローグラフに基づく部分的冗長計算除去の拡張
- Java言語上の細粒度マルチスレッドフレームワークにおける問題点の考察
- BDDを利用したCプログラムのfield-sensitiveなポインタ解析(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- Array SSAとそれを用いた最適化の実装と評価(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- BDDを利用したCプログラムのfield-sensitiveなポインタ解析(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- Array SSAとそれを用いた最適化の実装と評価(プログラム解析,「ハイパフォーマンスコンピューティングとアーキテクチャの評価」に関する北海道ワークショップ(HOKKE-2008))
- COINSコンパイラ・インフラストラクチャの開発(ソフトウェア論文,最新コンパイラ技術とCOINSによる実践)
- 静的単一代入形式上で通常形式部分冗長除去を実現する汎用的手法
- コンパイラ・インフラストラクチャCOINSを用いたSSA最適化(その2)(21世紀のコンパイラ道しるべ・・COINSをベースにして,連載6)
- コンパイラ・インフラストラクチャCOINSを用いたSSA最適化(その1)(21世紀のコンパイラ道しるべ・・COINSをベースにして)
- 静的単一代入形式からの逆変換アルゴリズムの比較と評価
- 属性文法の系統的デバッグ法におけるバグ絞り込みの効率化(プログラミングおよびプログラミング言語)
- アセンブリ言語上でのプログラム特化
- SSA形式によるレジスタ割付
- LR属性文法に基づいたインクリメンタルな属性評価
- 属性文法に基づくグラフィカルユーザインタフェース生成系とその評価
- SSA形式を利用したPredicated Execution向け命令スケジューリング手法
- SSA形式を利用したPredicated Execution向け命令スケジューリング手法
- SSA形式を中間言語とするコンパイラの属性文法による定式化と開発(一般発表)
- 属性文法によるSSA上の最適化器記述
- 属性文法に対するデバッガ
- 循環属性文法に基づく生成系Junについて
- 属性文法に対するデバッグ方式の構想
- 木属性文法とGUI生成系を利用したデバッガの作成
- 異機種分散環境上でのDcamlバイトコードコンパイラの設計と実現
- 異機種分散環境上でのDcamlネイティブコンパイラの設計と実現
- 異機種分散環境上のアプリケーション開発環境Dcamlシステムの構想
- プログラミング言語処理系SqueakのSHARP Zaurusへの移植とその評価
- 低レベル命令セット仮想計算機を利用した混成環境におけるプロセス移送
- 高速実行可能な低レベル命令セット仮想計算機の設計
- 東京工業大学における情報教育(物理と情報)
- 属性文法に対する系統的デバッグ方式
- 属性文法記述に基づくプログラミング環境の生成方式
- 1パス型属性文法に基づくコンパイラ生成系Rie
- フリーソフトウェアの開発と保守作業に関する考察 : コンパイラ生成系Rieを例として
- 配列の次元を考慮した大域ロード命令集約(学生及び若手(パラレルセッション:実装))
- 配列の次元を考慮した大域ロード命令集約(学生及び若手(パラレルセッション:実装))
- ARとジェスチャを用いたエージェント用インタフェースの開発(Al応用(1))