ループ展開とは

るーぷてんかい

ループの本体を何回分か並べて書き、繰り返しの回数を減らす最適化。分岐や回数の判定の手間が減り、命令を並べ替えやすくなるが、コードが大きくなる。

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

解説の中の「ループ展開」

「ループ展開」が出てくる問題(6問)

  1. ループ展開(ループアンローリング)の主な効果として正しいものはどれか。
  2. 繰り返し回数が100回のループを、本体を4回分並べるループ展開で書き換えると、回数の判定と分岐は何回になるか。(100は4で割り切れるものとする)
  3. 基本ブロックの説明として正しいものはどれか。
  4. コンパイラの定数畳み込みの例として正しいものはどれか。
  5. 上のループで、添字の計算 i * 4 に強度低減を行ったときの変換として正しいものはどれか。
  6. 行列の積などで使われるループブロッキング(タイリング)の主な目的はどれか。

関連する用語

基本ブロック 制御フローグラフ 定数畳み込み 強度低減 ループブロッキング 容量ミス インライン展開 SSA形式 LLVM 共通部分式の削除

用語集の一覧へ