提交 92ef1403 authored 作者: Frederic Bastien's avatar Frederic Bastien

ignore element when it is not an apply node. This can happen with constant.

上级 2c6b9b06
...@@ -364,6 +364,8 @@ def pre_constant_merge(vars): ...@@ -364,6 +364,8 @@ def pre_constant_merge(vars):
def recursive_merge(var): def recursive_merge(var):
if var in seen_var: if var in seen_var:
return var return var
if not hasattr(var, 'owner'):
return var
if var.owner and hasattr(var.owner, "env"): if var.owner and hasattr(var.owner, "env"):
return var return var
seen_var.add(var) seen_var.add(var)
...@@ -1164,7 +1166,7 @@ def pre_greedy_local_optimizer(list_optimizations, out): ...@@ -1164,7 +1166,7 @@ def pre_greedy_local_optimizer(list_optimizations, out):
be needed to call this function multiple time. be needed to call this function multiple time.
''' '''
def local_recursive_function( list_opt, out, optimized_vars, depth): def local_recursive_function( list_opt, out, optimized_vars, depth):
if not out.owner : if not getattr(out, 'owner', None):
return [out], optimized_vars return [out], optimized_vars
node = out.owner node = out.owner
if hasattr(node, 'env'): if hasattr(node, 'env'):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论