(ir: FuncIR, strict_traceback_checks: bool)
| 24 | |
| 25 | |
| 26 | def insert_uninit_checks(ir: FuncIR, strict_traceback_checks: bool) -> None: |
| 27 | # Remove dead blocks from the CFG, which helps avoid spurious |
| 28 | # checks due to unused error handling blocks. |
| 29 | cleanup_cfg(ir.blocks) |
| 30 | |
| 31 | cfg = get_cfg(ir.blocks) |
| 32 | must_defined = analyze_must_defined_regs( |
| 33 | ir.blocks, cfg, set(ir.arg_regs), all_values(ir.arg_regs, ir.blocks) |
| 34 | ) |
| 35 | |
| 36 | ir.blocks = split_blocks_at_uninits(ir.blocks, must_defined.before, strict_traceback_checks) |
| 37 | |
| 38 | |
| 39 | def split_blocks_at_uninits( |
searching dependent graphs…