spcl / dace

DaCe - Data Centric Parallel Programming
http://dace.is/fast
BSD 3-Clause "New" or "Revised" License
487 stars 121 forks source link

Implement ConditionalRegion #1599

Closed luca-patrignani closed 1 month ago

luca-patrignani commented 2 months ago

This PR is part of my GSoC project. This implement ConditionalRegion, a ControlFlowRegion which similarly to LoopRegion implements the the if else construct. Additionally it rewrites the inlining system for all cfgs (dace/sdfg/region_inline.py). I refactored the inlining functions so that each function is going to inline the region and recursively inline of all its children. This allows the loop region inliner function to catch all the break and continue states inside of it and handle them. It also adds the ReturnState, a SDFGState which represents a return statement.

Needs confirmation