docs: correct SCOPE loop-header generalization status (#117)

Line 28 read 'Temporarily disabled while the team keeps required VMP 3.8.x targets on the safe high-budget path'.  That is stale relative to the current code: canGeneralizeStructuredLoopHeader (lifter/core/LifterClass.hpp) gates generalization on path-solve context plus nine operational guards, and the corresponding loop_generalization_* microtests pass on main.  Describe the actual gating and point readers at docs/LOOP_HANDLING.md.

Co-authored-by: yusufcanislek <yusuf.canislek@meetdandy.com>
This commit is contained in:
naci
2026-04-22 23:06:47 +03:00
committed by GitHub
parent c6e4c33627
commit babe982b65
+1 -1
View File
@@ -25,7 +25,7 @@ Mergen is a function-level LLVM IR lifting engine for deobfuscation and devirtua
| 32-bit x86 lifting | Not supported |
| ARM / RISC-V / other architectures | Not supported |
| Jump-table IR quality | Supported shapes still dispatch on concrete target addresses, not logical case indices |
| Loop-header generalization | Temporarily disabled while the team keeps required VMP 3.8.x targets on the safe high-budget path |
| Loop-header generalization | Gated by path-solve context: allowed for `ConditionalBranch` and `DirectJump`, and for `IndirectJump` only when the target is already resolved concretely; `Ret` never generalizes. See `docs/LOOP_HANDLING.md`. |
## Current Development Focus
- Near term: broaden control-flow recovery and IR quality for loops, jump tables, indirect branches, and VM-style dispatcher shapes.