共通部分式除去(Common Sub expression Elimination)

graph

2021-11-24

dead code elimination

  • available expressionの説明

Common Sub-expression Elimination(共通部分式削除,CSE) - Jicchoの箱

  • LLVMの実装

https://github.com/sdasgup3/partial-redundancy-elimination

  • 学生のコンパイラ課題

https://github.com/ntu-homeworks/compiler-homeworks

  • bril(学習用中間表現とコンパイラ)のlocal numberingの実装

bril/lvn.py at main · sampsyo/bril

method

value numbering

各計算式に番号を振り既にあったら同一とみなす

  • local value numbering(block内)
  • global value numbering
    がある.
    間違った対応付けがなされないようにSSA (静的単一代入)である必要がある

Global Value Numbering

  • sympycse() ある

Term Rewriting - SymPy 1.9 documentation