Lines Matching refs:cursor
635 * Get a cursor inserting at the logical end of the block. In particular, this
652 /* IR builder in terms of cursor infrastructure */
656 agx_cursor cursor;
660 agx_init_builder(agx_context *ctx, agx_cursor cursor)
664 .cursor = cursor
668 /* Insert an instruction at the cursor and move the cursor */
671 agx_builder_insert(agx_cursor *cursor, agx_instr *I)
673 switch (cursor->option) {
675 list_add(&I->link, &cursor->instr->link);
676 cursor->instr = I;
680 list_addtail(&I->link, &cursor->block->instructions);
681 cursor->option = agx_cursor_after_instr;
682 cursor->instr = I;
686 list_addtail(&I->link, &cursor->instr->link);
687 cursor->option = agx_cursor_after_instr;
688 cursor->instr = I;
692 unreachable("Invalid cursor option");