Open zhuanhao-wu opened 1 year ago
I confirmed that the SCCFG is being generated correctly, and the false paths are also correct.
@mayagokhale Would it be possible to get some help in understanding the construction logic here: https://github.com/anikau31/systemc-clang/blob/scratchllnl/plugins/hdl/HDLThread.cpp#L450-L451
It appears that based on the id of the false path, ProcessSplitGraphGroup loops over twice, but the false path's BB index isn't what is being used, but simply an increment of the original provided index to the call.
(https://github.com/anikau31/systemc-clang/blob/scratchllnl/plugins/hdl/HDLThread.cpp#L339)
False path is length 2 but only one item is in the path vector false path, so we index off the end.
In file: https://github.com/intel/systemc-compiler/blob/main/designs/tests/cthread/test_cthread_for_if.cpp#L27 The original C++ code:
Error message from the binary:
A similar issue occurs with the other thread in the same file:
with output