記事一覧 はじめに マルチパスコンパイラ 定数に関する最適化 プログラムの構造(この記事) SSAとか...? ... TL;DR 基本ブロック,制御フローグラフ,支配木など. 対象読者 コンパイラの内部構造について興味がある方 コンパイラに関して精通している方(批評お待ちしております) プログラムの構造 最適化に関する記事を書く上で,最も重要ともいえるプログラムの構造についてまだ解説していませんでした. すでに定数畳み込みなどについて解説してしまっていますが,ここで一度立ち止まって,プログラムがどんな構造を持っているのかを考えます. また,世の中には関数型や命令型など様々なプログラミングパラダイムがありますが,これ以降は基本的に命令型プログラムについて扱います. 関数型ではデータの流れ方がはっきりしていることが多く,処理(=最適化)も行いやすいことが多いです.ですが,私自身,あまり関数型