Describe the bug
Vitis HLS backend generates buggy code, the results are not written back to the arguments.
To Reproduce
import allo
from allo.ir.types import int32
N = 256
def compute(
x: int32[N],
y: int32[N]
):
for i in range(N):
y[i] = x[i]
s = allo.customize(compute)
s.build(target="vitis_hls", mode="csim", project="test.prj")
Describe the bug Vitis HLS backend generates buggy code, the results are not written back to the arguments.
To Reproduce
Buggy output
buf1
is the result buffer, but it was not written back tov1
, therefore the entire kernel is considered dead code.Expected behavior Result tensor passed in as arguments should be written back to
Additional context This is related to the interface requirement of Vitis, needs further consideration not to affect existing systolic array examples