draperlaboratory / VIBES

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

Improves the peephole optimizer for copy operations #260

Closed bmourad01 closed 1 year ago

bmourad01 commented 1 year ago

Sometimes, the register allocator will give subpar solutions when it comes to move coalescing. To work around this, we added a pass in the vibes-as peephole optimizer to remove a lot of these redundant copy operations, but only at the intra-block level. This PR improves the algorithm to do it across blocks.