wazabin-qcode-passes 0.1.1

Block-local cleanup passes over the qcode IR: dead-instruction removal and CFG straight-line absorption
Documentation

wazabin-qcode-passes

Block-local cleanup passes over the QCode IR.

These are the transforms a lifter wants while it is still building a function: cheap, local, and safe to run on a partially discovered CFG. They need no alias analysis, no calling convention, and no knowledge of the target architecture — which is what lets them sit below qcode_analysis and be used on their own by consumers that only ever want the cleanup, never the decompiler.

  • dce — remove pure instructions nothing reads, and unused parameters of blocks with no predecessors.
  • cfg — merge straight-line blocks, drop empty forwarding blocks, fold degenerate branches. absorb_straight_line is the incremental variant that is safe to run while a lifter holds a position inside the block it is extending.

Developed by Thalium.

License

Licensed under the MIT License.