MCPcopy Index your code
hub / github.com/python/mypy / after_branch_decrefs

Function after_branch_decrefs

mypyc/transform/refcount.py:211–228  ·  view source on GitHub ↗
(
    label: BasicBlock,
    pre_live: AnalysisDict[Value],
    source_defined: set[Value],
    source_borrowed: set[Value],
    source_live_regs: set[Value],
    ordering: dict[Value, int],
    omitted: Iterable[Value],
)

Source from the content-addressed store, hash-verified

209
210
211def after_branch_decrefs(
212 label: BasicBlock,
213 pre_live: AnalysisDict[Value],
214 source_defined: set[Value],
215 source_borrowed: set[Value],
216 source_live_regs: set[Value],
217 ordering: dict[Value, int],
218 omitted: Iterable[Value],
219) -> tuple[tuple[Value, bool], ...]:
220 target_pre_live = pre_live[label, 0]
221 decref = source_live_regs - target_pre_live - source_borrowed
222 if decref:
223 return tuple(
224 (reg, is_maybe_undefined(source_defined, reg))
225 for reg in sorted(decref, key=lambda r: ordering[r])
226 if reg.type.is_refcounted and reg not in omitted
227 )
228 return ()
229
230
231def after_branch_increfs(

Callers 1

Calls 3

tupleClass · 0.85
is_maybe_undefinedFunction · 0.85
sortedFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…