mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
371dc7ea97
We now craft a new decompilation pipeline. We remove the exceptions introduced as fallbacks to preserve the semantics, and we perform passes of `dce` and `simplifycfg` to remove all the superfluos basic block remaining after this change. To do this, we need an additional pass that removes also the calls to the `llvm.assume` intrinsic, and another pass of `dce` to remove all the dead uses. In addition, we also remove dead stores to the `cpu_loop_exiting` global variable in order to improve the decompiled code. As a byproduct of this, we remove also the dependency from the `-remove-pc-stores` pass, since its jobs is included by the changes mentioned above.