numba / numba-rvsdg

Numba compatible RVSDG (Regionalized Value State Dependence Graph) utilities.
https://numba-rvsdg.readthedocs.io/
BSD 2-Clause "Simplified" License
18 stars 7 forks source link

Refactoring jump targets and backedges to update inplace #83

Open kc611 opened 1 year ago

kc611 commented 1 year ago

Resolves: #73 Builds on top of #50 As an alternative to #58,

We can update the jump_targets and backedges within the BasicBlock object to prevent copies and do minimal changes to code logic.

esc commented 1 year ago

Can this be rebased onto main?

esc commented 1 year ago

Question: why was it necessary to remove the ability to deep-copy before application of any major algorithm? It should still be possible to deep-copy between closing, loop- and branch-restructure?

kc611 commented 1 year ago

Question: why was it necessary to remove the ability to deep-copy before application of any major algorithm? It should still be possible to deep-copy between closing, loop- and branch-restructure?

It wasn't necessary to remove it, but rather it makes no difference for it to be there, since the graph is anyways mutable. Unless we have a fallback mechanism which I think is actually something we should look into.