cleaned up

上级 bcab26ee
......@@ -9,31 +9,30 @@ This variable is used in compile.prog as the optimizer for all programs built
using either compile.single, compile.to_func, and compile.prog.
"""
def optimizer(lst):
begin = gof.SeqOptimizer([])
end = gof.SeqOptimizer([gof.DummyRemover])
seq_opt = gof.SeqOptimizer(begin + lst + end)
print 'seq_opt', seq_opt
return gof.PythonOpt(gof.MergeOptMerge(seq_opt))
optimizer_begin = gof.SeqOptimizer([])
#gof.SeqOptimizer([ opt for name, opt in [ ]])))
#['double_transpose_eliminator', pattern_opt((transpose, (transpose, 'x')), 'x')],
#['addxx_to_twice', pattern_opt((add_elemwise, 'x', 'x'), (twice, 'x'))],
if 0:
optimizer_begin = gof.SeqOptimizer([opt for name, opt in [
['double_transpose_eliminator', pattern_opt((transpose, (transpose, 'x')), 'x')],
#['twice_to_itwice', op_sub(twice, itwice)],
['addxx_to_twice', pattern_opt((add_elemwise, 'x', 'x'), (twice, 'x'))],
#['mulxx_to_sqr', pattern_opt((mul_elemwise, 'x', 'x'), (sqr, 'x'))],
['twice_to_itwice', op_sub(twice, itwice)],
#['sqr_to_isqr', op_sub(sqr, isqr)],
#['add_to_iadd', op_sub(add_elemwise, iadd_elemwise)],
['mulxx_to_sqr', pattern_opt((mul_elemwise, 'x', 'x'), (sqr, 'x'))],
#['add_to_iadd_reverse', pattern_opt((add_elemwise, 'x', 'y'), (iadd_elemwise, 'y', 'x'))],
['sqr_to_isqr', op_sub(sqr, isqr)],
['add_to_iadd', op_sub(add_elemwise, iadd_elemwise)],
optimizer_end = gof.SeqOptimizer([gof.DummyRemover])
['add_to_iadd_reverse', pattern_opt((add_elemwise, 'x', 'y'),
(iadd_elemwise, 'y', 'x'))]]])
# ['remove_copies', gof.OpRemover(array_copy)],
# [None, gof.DummyRemover] # has to be at the end
def optimizer(lst):
seq_opt = gof.SeqOptimizer(optimizer_begin + lst + optimizer_end)
rval = gof.PythonOpt(gof.MergeOptMerge(seq_opt))
# rval = gof.PythonOpt((seq_opt))
return rval
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论