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
A natural loop is defined by two essential properties:
It must have a single-entry node, called the header. This entry node dominates all nodes in the loop, or it would not be the sole entry to the loop.
There must be a back edge that enters the loop header. Otherwise, it is not possible for the flow of control to return to the header directly from the \loop"; i.e., there really is no loop.
One problem Kiwi suffers from is that the information about natural loops in the source code is lost in the C#. The main developer DJ Greaves have attempted to resurrect it, but it does not work properly for certain simple nested for loops. He has proposed it to fix this with an exhaustive search on the CIL CFG accompanied by simulation to regenerate the progression of induction variables. It could then make a much better effort on standard HLS benchmarks, such as small systems of bi-quads. Alternatively, better intrinsic support for the parallel C# structures and LINQ structures will stop the information being lost in the C# compiler since, when these are used, these nearly all go through directly to invocations of library iterator methods.
The text was updated successfully, but these errors were encountered:
What do we mean by natural loops?
A natural loop is defined by two essential properties:
It must have a single-entry node, called the header. This entry node dominates all nodes in the loop, or it would not be the sole entry to the loop.
There must be a back edge that enters the loop header. Otherwise, it is not possible for the flow of control to return to the header directly from the \loop"; i.e., there really is no loop.
One problem Kiwi suffers from is that the information about natural loops in the source code is lost in the C#. The main developer DJ Greaves have attempted to resurrect it, but it does not work properly for certain simple nested for loops. He has proposed it to fix this with an exhaustive search on the CIL CFG accompanied by simulation to regenerate the progression of induction variables. It could then make a much better effort on standard HLS benchmarks, such as small systems of bi-quads. Alternatively, better intrinsic support for the parallel C# structures and LINQ structures will stop the information being lost in the C# compiler since, when these are used, these nearly all go through directly to invocations of library iterator methods.
The text was updated successfully, but these errors were encountered: