- 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
- wcprogram.js.generateCode now checks if the body already contains
a return or exit statement before appending the hardcoded return 0;
This eliminates the duplicate return 0 from the END block.