draperlaboratory / VIBES

Verified, Incremental, Binary Editing with Synthesis
MIT License
51 stars 1 forks source link

Layout optimizations happen at the wrong time #156

Closed ccasin closed 1 year ago

ccasin commented 2 years ago

The current implementation eliminates fall-through jumps at the BIR level. This creates some problems because the control flow in the block list is no longer explicit. This is a layout optimization, and should be done later on assembly (or VIR?) instead.

We can put this in the patcher, or as a peephole optimization, or rely on OFRAK (if it can do this). Some care should be taken to do it in an architecture-agnostic way, to the extent possible.

bmourad01 commented 1 year ago

This is now done during the peephole optimizations at the VIR level, after register allocation and scheduling.