On Mon Jan 29 14:33:21 2024 +0000, Conor McCarthy wrote:
Given the complexity of dealing with an unstructured instruction array which represents a CFG, it may work out better to use an intermediate flow graph of one object per block. Code for setting pred/succ and modifying the graph exists in the sm6_rebase branch. Doing this would require changes to !598 though. Code for emitting the blocks is already upstream, so if we are not going to use them, the dxil module should be patched to emit directly into the parser's array.
I guess that at some point it might be advisable to have a more structured representation of the code rather than just a flat array. Maybe the `vsir_program` thing Henri is pushing for could also allow for a blocked representation. Or maybe the blocking information might be additional data to `vsir_program`. I'm not yet sure of what I like more there, so I'm waiting a little bit to introduce that. Once the simple structurizer is in it might be a good moment to do some experiments in view of a smarter structurizer.