You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The computation for x uses the default wdata value instead of the one from the memory read, becuase the IMemRecv() command is ordered after the computation of x in the stage command list. This should not be generated in this order.
This is likely a result of stage merging as well -> when the IMemRecv is merged into the stage assigning to x, it should be at the beginning of the command list.
The text was updated successfully, but these errors were encountered:
x ignores the result coming back from memory (i.e., mem.peekResp(...)).
The compiler should generate all code that writes to a variable, before it is used in that stage.
The fixed version would simply have the conditional assignment to wdata be moved earlier:
The following generates the wrong code at the moment:
The computation for x uses the default wdata value instead of the one from the memory read, becuase the
IMemRecv()
command is ordered after the computation ofx
in the stage command list. This should not be generated in this order.This is likely a result of stage merging as well -> when the
IMemRecv
is merged into the stage assigning tox
, it should be at the beginning of the command list.The text was updated successfully, but these errors were encountered: