aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/flowgraph.c
Commit message (Collapse)AuthorAge
* gh-107901: make compiler inline basic blocks with no line number and no ↵Irit Katriel2024-02-02
| | | | fallthrough (#114750)
* gh-114569: Use PyMem_* APIs for non-PyObjects in compiler (#114587)Erlend E. Aasland2024-01-30
|
* gh-107901: compiler replaces POP_BLOCK instruction by NOPs before ↵Irit Katriel2024-01-25
| | | | optimisations (#114530)
* gh-114265: remove i_loc_propagated, jump threading does not consider line ↵Irit Katriel2024-01-25
| | | | numbers anymore (#114535)
* gh-114083: apply optimization of LOAD_CONST instructions to the whole CFG ↵Irit Katriel2024-01-22
| | | | before optimize_basic_block. (#114408)
* gh-114265: move line number propagation before cfg optimization, remove ↵Irit Katriel2024-01-19
| | | | guarantee_lineno_for_exits (#114267)
* gh-107901: duplicate blocks with no lineno that have an eval break and ↵Irit Katriel2024-01-12
| | | | multiple predecessors (#113950)
* gh-107901: jump leaving an exception handler doesn't need an eval break ↵Irit Katriel2024-01-11
| | | | check (#113943)
* gh-107901: synthetic jumps which are not at end of loop no longer check the ↵Irit Katriel2024-01-06
| | | | eval breaker (#113721)
* gh-113603: Compiler no longer tries to maintain the no-empty-block invariant ↵Irit Katriel2024-01-03
| | | | (#113636)
* gh-113297: Fix segfault in compiler for with statement with 19 context ↵Irit Katriel2023-12-22
| | | | managers (#113327)
* GH-111485: Generate instruction and uop metadata (GH-113287)Mark Shannon2023-12-20
|
* gh-113054: Compiler no longer replaces a redundant jump with no line number ↵Irit Katriel2023-12-19
| | | | by a NOP (#113139)
* gh-112519: Make it possible to specify instruction flags for pseudo ↵Irit Katriel2023-11-30
| | | | instructions in bytecodes.c (#112520)
* gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 ↵Irit Katriel2023-11-02
| | | | (#111459)
* gh-109889: fix compiler's redundant NOP detection to look past NOPs with no ↵Irit Katriel2023-09-28
| | | | lineno when looking for the next instruction's lineno (#109987)
* gh-109923: set line number on the POP_TOP that follows a RETURN_GENERATOR ↵Irit Katriel2023-09-27
| | | | (#109924)
* gh-109823: Adjust labels in compiler when removing an empty basic block ↵Irit Katriel2023-09-25
| | | | which is a jump target (#109839)
* gh-109719: Fix missing jump target labels when compiler reorders cold/warm ↵Irit Katriel2023-09-22
| | | | blocks (#109734)
* gh-109627: duplicated smalll exit blocks need to be assigned jump target ↵Irit Katriel2023-09-20
| | | | labels (#109630)
* dump readable opcode names in flowgraph debug utility (#109392)Carl Meyer2023-09-14
| | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
* GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW (GH-109300)Brandt Bucher2023-09-13
|
* gh-108444: Replace _PyLong_AsInt() with PyLong_AsInt() (#108459)Victor Stinner2023-08-25
| | | | | | Change generated by the command: sed -i -e 's!_PyLong_AsInt!PyLong_AsInt!g' \ $(find -name "*.c" -o -name "*.h")
* gh-108308: Replace PyDict_GetItem() with PyDict_GetItemRef() (#108309)Victor Stinner2023-08-23
| | | | | | | | | Replace PyDict_GetItem() calls with PyDict_GetItemRef() or PyDict_GetItemWithError() to handle errors. * Replace PyLong_AS_LONG() with _PyLong_AsInt() and check for errors. * Check for PyDict_Contains() error. * pycore_init_builtins() checks for _PyType_Lookup() failure.
* gh-107901: Fix missing line number on BACKWARD_JUMP at the end of a for loop ↵Irit Katriel2023-08-21
| | | | (#108242)
* gh-106149: move CFG and basicblock definitions into flowgraph.c, use them as ↵Irit Katriel2023-08-10
| | | | opaque types in compile.c (#107639)
* GH-105848: Simplify the arrangement of CALL's stack (GH-107788)Brandt Bucher2023-08-09
|
* gh-106149: Simplify stack depth calculation. Replace asserts by exceptions. ↵Irit Katriel2023-07-26
| | | | (#107255)
* gh-106149: move _PyCfg_BasicblockLastInstr and make it local to flowgraph.c ↵Irit Katriel2023-07-24
| | | | (#107180)
* gh-105481: expose opcode metadata via the _opcode module (#106688)Irit Katriel2023-07-14
|
* gh-105481: move Python/opcode_metadata.h to ↵Irit Katriel2023-07-12
| | | | Include/internal/pycore_opcode_metadata.h (#106673)
* GH-106008: Fix refleak when peepholing `None` comparisons (#106367)Brandt Bucher2023-07-04
|
* gh-106149: move unconditional jump direction resolution from optimizer to ↵Irit Katriel2023-07-01
| | | | assembler (#106291)
* GH-106008: Make implicit boolean conversions explicit (GH-106003)Brandt Bucher2023-06-29
|
* gh-105775: Convert LOAD_CLOSURE to a pseudo-op (#106059)hms2023-06-29
| | | | | | This enables super-instruction formation, removal of checks for uninitialized variables, and frees up an instruction.
* gh-106149: move jump target resolution from optimizer to assembler (#106150)Irit Katriel2023-06-27
|
* gh-105481: remove HAS_ARG, HAS_CONST, IS_JUMP_OPCODE, IS_PSEUDO_OPCODE and ↵Irit Katriel2023-06-17
| | | | replace by their new versions (#105865)
* gh-105481: add HAS_JUMP flag to opcode metadata (#105791)Irit Katriel2023-06-14
|
* gh-105481: add pseudo-instructions to the bytecodes DSL (#105506)Irit Katriel2023-06-11
|
* GH-105229: Remove remaining two-codeunit superinstructions (GH-105326)Mark Shannon2023-06-08
| | | | * Remove LOAD_CONST__LOAD_FAST and LOAD_FAST__LOAD_CONST superinstructions.
* gh-104635: Eliminate redundant STORE_FAST instructions in the compiler ↵Dong-hee Na2023-06-08
| | | | (gh-105320)
* GH-105229: Replace some superinstructions with single instruction ↵Mark Shannon2023-06-05
| | | | equivalent. (GH-105230)
* gh-104615: don't make unsafe swaps in apply_static_swaps (#104620)Carl Meyer2023-05-18
|
* gh-97933: (PEP 709) inline list/dict/set comprehensions (#101441)Carl Meyer2023-05-09
| | | | Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com> Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
* gh-87092: Expose assembler to unit tests (#103988)Irit Katriel2023-05-01
|
* gh-87092: change assembler to use instruction sequence instead of CFG (#103933)Irit Katriel2023-04-29
|
* gh-91276: remove unused _PyOpcode_RelativeJump (#103156)Irit Katriel2023-04-11
|
* gh-87092: move assembler related code from compile.c to assemble.c (#103277)Irit Katriel2023-04-11
|
* gh-87092: move CFG related code from compile.c to flowgraph.c (#103021)Irit Katriel2023-03-31