定数畳み込みとは

ていすうたたみこみ

コンパイルの時点で値が決まる式を、あらかじめ計算して結果の定数に置き換える最適化。例えば 3 * 4 を 12 にする。実行時の計算を減らせる。

この用語の分野: コンパイラ

解説の中の「定数畳み込み」

「定数畳み込み」が出てくる問題(6問)

  1. コンパイラの定数畳み込みの例として正しいものはどれか。
  2. 上のコードに定数伝播と定数畳み込みを繰り返し行うと、最終的にどのようなコードになるか。
  3. 上の関数に、定数伝播・定数畳み込み・不要コードの削除を十分に行ったとき、関数が返す値と残るコードとして正しいものはどれか。
  4. 不要コードの削除(デッドコード除去)で取り除かれるものとして正しいものはどれか。
  5. 関数のインライン展開の利点と欠点の組み合わせとして正しいものはどれか。
  6. 上のコードで、sqをインライン展開したあとに続けて効く最適化と、その結果として正しいものはどれか。

関連する用語

インライン展開 ループ展開 SSA形式 LLVM 基本ブロック 共通部分式の削除 強度低減 構文解析 字句解析 JITコンパイル

用語集の一覧へ