[issue42349] Compiler front-end produces a broken CFG

2021-06-07 Thread Mark Shannon
Mark Shannon added the comment: Basic blocks have only a single exit, at the end. https://en.wikipedia.org/wiki/Basic_block If the devguide says otherwise it is wrong. -- ___ Python tracker

[issue42349] Compiler front-end produces a broken CFG

2021-06-04 Thread Dennis Sweeney
Dennis Sweeney added the comment: >From https://devguide.python.org/compiler/#source-code-to-ast: > Basic blocks themselves are a block of IR that has a single entry point but > possibly multiple exit points. In particular, compile.c's label_exception_targets has the assertion (`assert(i

[issue42349] Compiler front-end produces a broken CFG

2020-11-23 Thread Mark Shannon
Change by Mark Shannon : -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker ___ ___

[issue42349] Compiler front-end produces a broken CFG

2020-11-17 Thread Mark Shannon
Mark Shannon added the comment: New changeset 266b462238bddec0213effad3650f19c56511e9f by Mark Shannon in branch 'master': bpo-42349: Compiler clean up. More yak-shaving for PEP 626. (GH-23267) https://github.com/python/cpython/commit/266b462238bddec0213effad3650f19c56511e9f --

[issue42349] Compiler front-end produces a broken CFG

2020-11-13 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +22163 stage: -> patch review pull_request: https://github.com/python/cpython/pull/23267 ___ Python tracker ___

[issue42349] Compiler front-end produces a broken CFG

2020-11-13 Thread Mark Shannon
New submission from Mark Shannon : The front-end of the bytecode compiler produces a broken CFG. A number of "basic-block"s have terminators before their end. This makes the back-end optimizations unsafe as they rely of a well-formed CFG. The fix is simple. Insert a check that the CFG is