9个重大版本发布
0.78.0 | 2021年10月29日 |
---|---|
0.76.0 | 2021年8月2日 |
0.75.0 | 2021年6月9日 |
0.72.0 | 2021年3月16日 |
#1604 在 WebAssembly
每月32次下载
28KB
615 行
将Souper优化转换为Peepmatic DSL。
通过直接自顶向下的递归遍历优化表达式的左右表达式DAG,实现从Souper到Peepmatic的转换。大多数Souper指令都有相应的Peepmatic指令。如果遇到不是这种情况的指令,则跳过该Souper优化并继续下一个。
请注意,Souper完全支持DAG,例如
%0 = var
%1 = add 1, %0
%2 = add %1, %1 ;; Two edges to `%1` makes this a DAG.
另一方面,Peepmatic目前仅支持树,因此共享子表达式被重复使用
(iadd (iadd 1 $x)
(iadd 1 $x)) ;; The shared subexpression is duplicated.
这不会影响正确性。
依赖项
~335KB