CozySynthesizer / cozy

The collection synthesizer
https://cozy.uwplse.org
Apache License 2.0
209 stars 18 forks source link

EListSlice optimization NotImplementedError #80

Closed izgzhen closed 6 years ago

izgzhen commented 6 years ago
Traceback (most recent call last):
  File "/home/zgzhen/projects/cozy/.venv/bin/cozy", line 11, in <module>
    load_entry_point('cozy', 'console_scripts', 'cozy')()
  File "/home/zgzhen/projects/cozy/cozy/main.py", line 183, in run
    codegen.CxxPrinter(out=out, use_qhash=args.use_qhash).visit(impl, state_map, share_info, abstract_state=ast.spec.statevars)
  File "/home/zgzhen/projects/cozy/cozy/common.py", line 281, in visit
    return f(x, *args, **kwargs)
  File "/home/zgzhen/projects/cozy/cozy/common.py", line 93, in g
    ret = f(*args, **kwargs)
  File "/home/zgzhen/projects/cozy/cozy/codegen/cxx.py", line 797, in visit_Spec
    stm = simplify_and_optimize(SAssign(EVar(name).with_type(t), initial_value))
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 209, in simplify_and_optimize
    setup, e = simplify_and_optimize_expression(s.rhs)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 454, in simplify_and_optimize_expression
    e_prime = optimizer.visit(e)
  File "/home/zgzhen/projects/cozy/cozy/common.py", line 281, in visit
    return f(x, *args, **kwargs)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 435, in visit_ECond
    SIf(e.cond, SAssign(v, e.then_branch), SAssign(v, e.else_branch))])))
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 207, in simplify_and_optimize
    return seq([simplify_and_optimize(s.s1), simplify_and_optimize(s.s2)])
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 223, in simplify_and_optimize
    return seq([setup, SIf(test, simplify_and_optimize(s.then_branch), simplify_and_optimize(s.else_branch))])
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 209, in simplify_and_optimize
    setup, e = simplify_and_optimize_expression(s.rhs)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 454, in simplify_and_optimize_expression
    e_prime = optimizer.visit(e)
  File "/home/zgzhen/projects/cozy/cozy/common.py", line 281, in visit
    return f(x, *args, **kwargs)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 294, in visit_EMap
    return self.visit_iterable(e)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 287, in visit_iterable
    self.stms.append(simplify_and_optimize(SForEach(x, e, SCall(res, "add", (x,)))))
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 218, in simplify_and_optimize
    return stream(s.iter, s.loop_var, s.body)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 139, in stream
    body)
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 147, in stream
    stream(iterable.transform_function.apply_to(inner_loop_var), loop_var, body))
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 102, in stream
    stream(iterable.e1, loop_var, body),
  File "/home/zgzhen/projects/cozy/cozy/codegen/optimization.py", line 149, in stream
    raise NotImplementedError()
NotImplementedError

failed_codegen.py.txt