cornell-zhang/hcl-dialect

[Frontend] `separate_host_device` function index error in return operand

Closed this issue · 2 comments

Related test: mlir/test_schedule_stream.py::test_in_place_update
Stack trace:

Traceback (most recent call last):
  File "mlir/test_schedule_stream.py", line 51, in <module>
    test_in_place_update()
  File "mlir/test_schedule_stream.py", line 46, in test_in_place_update
    mod = hcl.build(s, target)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 72, in build
    raise e
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 68, in build
    return build_fpga_kernel(schedule, target, stmt)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 281, in build_fpga_kernel
    separate_host_device(schedule)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 204, in separate_host_device
    schedule._xcel_ret.operands[0] = op_dict["xcel"]
IndexError: attempt to access out of bounds

Another related test:
mlir/test_schedule_stream.py::test_stages_one_to_many
Stack trace:

Traceback (most recent call last):
  File "mlir/test_schedule_stream.py", line 175, in <module>
    test_stages_one_to_many()
  File "mlir/test_schedule_stream.py", line 170, in test_stages_one_to_many
    mod = hcl.build(s, target)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 72, in build
    raise e
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 68, in build
    return build_fpga_kernel(schedule, target, stmt)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 281, in build_fpga_kernel
    separate_host_device(schedule)
  File "/work/shared/users/phd/nz264/mlir/heterocl/python/heterocl/mlir/build_module.py", line 154, in separate_host_device
    name = schedule.DataflowGraph.subgraph["inputs"][i].name
IndexError: list index out of range

This issue is fixed after migrating frontend to AST