- Add CodeGen.findBackEdges(root) pre-pass — DFS-based back-edge
detection that finds all blocks targeted by at least one back-edge
- Only those blocks get C labels; only those back-edges emit goto
- emitBranch reverts to generateOwnCode + manual successor walking
(respects stop set properly for shared blocks)
- generateCode/generateNextCode accept loopTargets parameter;
visited-but-not-back-edge blocks are silently skipped
- No more -Wunused-label warnings in compiled output