提交 ee723ca4 authored 作者: Frederic Bastien's avatar Frederic Bastien

When inserting deepcopy, pass the reason to the env.

上级 4db2bdff
...@@ -814,7 +814,7 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs): ...@@ -814,7 +814,7 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs):
assert len(wrapped_inputs) == len(env.inputs) assert len(wrapped_inputs) == len(env.inputs)
assert len(wrapped_outputs) == len(env.outputs) assert len(wrapped_outputs) == len(env.outputs)
reason = "insert_deepcopy"
updated_env_inputs = [env_i for i, env_i in zip(wrapped_inputs, env.inputs) if getattr(i, 'update', False)] updated_env_inputs = [env_i for i, env_i in zip(wrapped_inputs, env.inputs) if getattr(i, 'update', False)]
# We can't use env.inputs as this don't include Constant Value. # We can't use env.inputs as this don't include Constant Value.
...@@ -830,9 +830,11 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs): ...@@ -830,9 +830,11 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs):
# and not(wrapped_outputs[i].borrow and wrapped_outputs[j].borrow): # and not(wrapped_outputs[i].borrow and wrapped_outputs[j].borrow):
if env.outputs[j] in views_of_output_i: if env.outputs[j] in views_of_output_i:
if wrapped_outputs[i].borrow and wrapped_outputs[j].borrow: if wrapped_outputs[i].borrow and wrapped_outputs[j].borrow:
env.change_input('output',i, view_op(env.outputs[i])) env.change_input('output',i, view_op(env.outputs[i]),
reason=reason)
else: else:
env.change_input('output', i, deep_copy_op(env.outputs[i])) env.change_input('output', i, deep_copy_op(env.outputs[i]),
reason=reason)
copied = True copied = True
break break
...@@ -850,16 +852,20 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs): ...@@ -850,16 +852,20 @@ def insert_deepcopy(env, wrapped_inputs, wrapped_outputs):
if input_j in env.inputs: if input_j in env.inputs:
j = env.inputs.index(input_j) j = env.inputs.index(input_j)
if wrapped_outputs[i].borrow and wrapped_inputs[j].borrow: if wrapped_outputs[i].borrow and wrapped_inputs[j].borrow:
env.change_input('output',i, view_op(env.outputs[i])) env.change_input('output',i, view_op(env.outputs[i]),
reason="insert_deepcopy")
break break
else: else:
env.change_input('output', i, deep_copy_op(env.outputs[i])) env.change_input('output', i, deep_copy_op(env.outputs[i]),
reason="insert_deepcopy")
break break
elif wrapped_outputs[i].borrow: elif wrapped_outputs[i].borrow:
env.change_input('output',i, view_op(env.outputs[i])) env.change_input('output',i, view_op(env.outputs[i]),
reason="insert_deepcopy")
break break
else: else:
env.change_input('output', i, deep_copy_op(env.outputs[i])) env.change_input('output', i, deep_copy_op(env.outputs[i]),
reason="insert_deepcopy")
break break
NODEFAULT = ['NODEFAULT'] NODEFAULT = ['NODEFAULT']
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论