BinaryAnalysisPlatform / bap

Binary Analysis Platform
MIT License
2.07k stars 273 forks source link

adds subinstruction contraction to improve the ghidra lifter output #1443

Closed ivg closed 2 years ago

ivg commented 2 years ago

The code produced by ghidra lifter produces several basic blocks per instruction. This simple optimization contracts (collapses into single block) basic blocks that originate from different subinstructions of the same instruction (when it preserves semantics, of course). The optimization doesn't affect IR that is produced by other lifters.