Lines Matching refs:basicblock
135 } basicblock; typedef
150 basicblock *fb_block;
152 basicblock *fb_exit;
193 basicblock *u_blocks;
194 basicblock *u_curblock; /* pointer to current block */
250 basicblock **fail_pop;
261 static basicblock *compiler_new_block(struct compiler *);
262 static int compiler_next_instr(basicblock *);
265 static int compiler_addop_j(struct compiler *, int, basicblock *);
266 static int compiler_addop_j_noline(struct compiler *, int, basicblock *);
566 basicblock *block; in compiler_unit_check()
584 basicblock *b, *next; in compiler_unit_free()
612 basicblock *block; in compiler_enter_scope()
822 static basicblock *
825 basicblock *b; in compiler_new_block()
829 b = (basicblock *)PyObject_Calloc(1, sizeof(basicblock)); in compiler_new_block()
840 static basicblock *
843 basicblock *block = compiler_new_block(c); in compiler_next_block()
851 static basicblock *
852 compiler_use_next_block(struct compiler *c, basicblock *block) in compiler_use_next_block()
860 static basicblock *
861 compiler_copy_block(struct compiler *c, basicblock *block) in compiler_copy_block()
867 basicblock *result = compiler_new_block(c); in compiler_copy_block()
889 compiler_next_instr(basicblock *b) in compiler_next_instr()
1240 basicblock *b; in compiler_addop_line()
1497 static int add_jump_to_block(basicblock *b, int opcode, int lineno, basicblock *target) in add_jump_to_block()
1515 compiler_addop_j(struct compiler *c, int opcode, basicblock *b) in compiler_addop_j()
1521 compiler_addop_j_noline(struct compiler *c, int opcode, basicblock *b) in compiler_addop_j_noline()
1731 compiler_push_fblock(struct compiler *c, enum fblocktype t, basicblock *b, in compiler_push_fblock()
1732 basicblock *exit, void *datum) in compiler_push_fblock()
1747 compiler_pop_fblock(struct compiler *c, enum fblocktype t, basicblock *b) in compiler_pop_fblock()
2644 compiler_jump_if(struct compiler *c, expr_ty e, basicblock *next, int cond) in compiler_jump_if()
2657 basicblock *next2 = next; in compiler_jump_if()
2674 basicblock *end, *next2; in compiler_jump_if()
2698 basicblock *cleanup = compiler_new_block(c); in compiler_jump_if()
2715 basicblock *end = compiler_new_block(c); in compiler_jump_if()
2745 basicblock *end, *next; in compiler_ifexp()
2830 basicblock *end, *next; in compiler_if()
2861 basicblock *start, *body, *cleanup, *end; in compiler_for()
2896 basicblock *start, *except, *end; in compiler_async_for()
2950 basicblock *loop, *body, *end, *anchor = NULL; in compiler_while()
3095 basicblock *body, *end, *exit; in compiler_try_finally()
3163 basicblock *body, *orelse, *except, *end; in compiler_try_except()
3202 basicblock *cleanup_end, *cleanup_body; in compiler_try_except()
3254 basicblock *cleanup_body; in compiler_try_except()
3445 basicblock *end; in compiler_assert()
3775 basicblock *end; in compiler_boolop()
3794 basicblock *next = compiler_new_block(c); in compiler_boolop()
4091 basicblock *cleanup = compiler_new_block(c); in compiler_compare()
4105 basicblock *end = compiler_new_block(c); in compiler_compare()
4584 basicblock *start, *anchor, *skip, *if_cleanup; in compiler_sync_comprehension_generator()
4700 basicblock *start, *if_cleanup, *except; in compiler_async_comprehension_generator()
4968 basicblock *exit; in compiler_with_except_finish()
5011 basicblock *block, *final, *exit; in compiler_async_with()
5113 basicblock *block, *final, *exit; in compiler_with()
5675 Py_ssize_t needed = sizeof(basicblock*) * size; in ensure_fail_pop()
5676 basicblock **resized = PyObject_Realloc(pc->fail_pop, needed); in ensure_fail_pop()
5683 basicblock *new_block; in ensure_fail_pop()
6102 basicblock *end; in compiler_pattern_or()
6363 basicblock *end; in compiler_match_inner()
6467 basicblock *a_entry;
6471 stackdepth_push(basicblock ***sp, basicblock *b, int depth) in stackdepth_push()
6487 basicblock *b, *entryblock = NULL; in stackdepth()
6488 basicblock **stack, **sp; in stackdepth()
6496 stack = (basicblock **)PyObject_Malloc(sizeof(basicblock *) * nblocks); in stackdepth()
6512 basicblock *next = b->b_next; in stackdepth()
6572 if ((size_t)nblocks > SIZE_MAX / sizeof(basicblock *)) { in assemble_init()
6591 blocksize(basicblock *b) in blocksize()
6707 basicblock *b; in assemble_jump_offsets()
6715 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in assemble_jump_offsets()
6969 dump_basicblock(const basicblock *b)
6986 normalize_basic_block(basicblock *bb);
6999 extend_block(basicblock *bb);
7002 insert_generator_prefix(struct compiler *c, basicblock *entryblock) { in insert_generator_prefix()
7044 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in guarantee_lineno_for_exits()
7070 basicblock *b, *entryblock; in assemble()
7087 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in assemble()
7093 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in assemble()
7294 optimize_basic_block(struct compiler *c, basicblock *bb, PyObject *consts) in optimize_basic_block()
7508 extend_block(basicblock *bb) { in extend_block()
7517 basicblock *to_copy = last->i_target; in extend_block()
7532 clean_basic_block(basicblock *bb, int prev_lineno) { in clean_basic_block()
7555 basicblock* next = bb->b_next; in clean_basic_block()
7579 normalize_basic_block(basicblock *bb) { in normalize_basic_block()
7615 basicblock **stack, **sp; in mark_reachable()
7616 sp = stack = (basicblock **)PyObject_Malloc(sizeof(basicblock *) * a->a_nblocks); in mark_reachable()
7623 basicblock *b = *(--sp); in mark_reachable()
7631 basicblock *target; in mark_reachable()
7646 eliminate_empty_basic_blocks(basicblock *entry) { in eliminate_empty_basic_blocks()
7648 for (basicblock *b = entry; b != NULL; b = b->b_next) { in eliminate_empty_basic_blocks()
7649 basicblock *next = b->b_next; in eliminate_empty_basic_blocks()
7657 for (basicblock *b = entry; b != NULL; b = b->b_next) { in eliminate_empty_basic_blocks()
7662 basicblock *target = b->b_instr[b->b_iused-1].i_target; in eliminate_empty_basic_blocks()
7681 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in propagate_line_numbers()
7708 basicblock *target = b->b_instr[b->b_iused-1].i_target; in propagate_line_numbers()
7730 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in optimize_cfg()
7737 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in optimize_cfg()
7746 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in optimize_cfg()
7752 basicblock *pred = NULL; in optimize_cfg()
7753 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in optimize_cfg()
7768 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in optimize_cfg()
7797 for (basicblock *b = a->a_entry; b != NULL; b = b->b_next) { in trim_unused_consts()
7817 is_exit_without_lineno(basicblock *b) { in is_exit_without_lineno()
7835 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in duplicate_exits_without_lineno()
7844 basicblock *target = b->b_instr[b->b_iused-1].i_target; in duplicate_exits_without_lineno()
7846 basicblock *new_target = compiler_copy_block(c, target); in duplicate_exits_without_lineno()
7860 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in duplicate_exits_without_lineno()
7867 for (basicblock *b = c->u->u_blocks; b != NULL; b = b->b_list) { in duplicate_exits_without_lineno()