Lines Matching defs:block
109 * a "getone" block).
259 struct ir3_block *block;
601 /* each block has either one or two successors.. in case of two
602 * successors, 'condition' decides which one to follow. A block preceding
629 /* used for per-pass extra block data. Mainly used right
651 block_id(struct ir3_block *block)
654 return block->serialno;
656 return (uint32_t)(unsigned long)block;
669 struct ir3_block *block = ir3_start_block(ir);
671 * that to get to the block after the preamble.
673 if (block->brtype == IR3_BRANCH_SHPS)
674 return block->successors[1]->successors[0];
676 return block;
679 void ir3_block_add_predecessor(struct ir3_block *block, struct ir3_block *pred);
680 void ir3_block_add_physical_predecessor(struct ir3_block *block,
682 void ir3_block_remove_predecessor(struct ir3_block *block,
684 void ir3_block_remove_physical_predecessor(struct ir3_block *block,
686 unsigned ir3_block_get_pred_index(struct ir3_block *block,
713 struct ir3_instruction *ir3_instr_create(struct ir3_block *block, opc_t opc,
751 void ir3_block_clear_mark(struct ir3_block *block);
780 * Move 'instr' to the beginning of the block:
784 struct ir3_block *block)
787 list_add(&instr->node, &block->instr_list);
1727 unsigned ir3_delay_calc(struct ir3_block *block,
1836 /* unreachable block elimination: */
1882 foreach_block (block, &ir->block_list) {
1883 foreach_instr (instr, &block->instr_list) {
1929 create_immed_typed(struct ir3_block *block, uint32_t val, type_t type)
1934 mov = ir3_instr_create(block, OPC_MOV, 1, 1);
1944 create_immed(struct ir3_block *block, uint32_t val)
1946 return create_immed_typed(block, val, TYPE_U32);
1950 create_uniform_typed(struct ir3_block *block, unsigned n, type_t type)
1955 mov = ir3_instr_create(block, OPC_MOV, 1, 1);
1965 create_uniform(struct ir3_block *block, unsigned n)
1967 return create_uniform_typed(block, n, TYPE_F32);
1971 create_uniform_indirect(struct ir3_block *block, int n, type_t type,
1976 mov = ir3_instr_create(block, OPC_MOV, 1, 1);
1988 ir3_MOV(struct ir3_block *block, struct ir3_instruction *src, type_t type)
1990 struct ir3_instruction *instr = ir3_instr_create(block, OPC_MOV, 1, 1);
2007 ir3_COV(struct ir3_block *block, struct ir3_instruction *src, type_t src_type,
2010 struct ir3_instruction *instr = ir3_instr_create(block, OPC_MOV, 1, 1);
2025 ir3_MOVMSK(struct ir3_block *block, unsigned components)
2027 struct ir3_instruction *instr = ir3_instr_create(block, OPC_MOVMSK, 1, 0);
2037 ir3_BALLOT_MACRO(struct ir3_block *block, struct ir3_instruction *src,
2041 ir3_instr_create(block, OPC_BALLOT_MACRO, 1, 1);
2053 ir3_NOP(struct ir3_block *block)
2055 return ir3_instr_create(block, OPC_NOP, 0, 0);
2060 static inline struct ir3_instruction *ir3_##name(struct ir3_block *block) \
2062 struct ir3_instruction *instr = ir3_instr_create(block, opc, 1, 0); \
2073 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags) \
2076 ir3_instr_create(block, opc, dst_count, 1); \
2091 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags, \
2094 struct ir3_instruction *instr = ir3_instr_create(block, opc, dst_count, 2); \
2110 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags, \
2115 ir3_instr_create(block, opc, dst_count, 3); \
2132 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags, \
2137 ir3_instr_create(block, opc, dst_count, 4); \
2155 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags, \
2160 struct ir3_instruction *instr = ir3_instr_create(block, opc, 1, 5); \
2177 struct ir3_block *block, struct ir3_instruction *a, unsigned aflags, \
2183 struct ir3_instruction *instr = ir3_instr_create(block, opc, 1, 6); \
2222 ir3_ELECT_MACRO(struct ir3_block *block)
2225 ir3_instr_create(block, OPC_ELECT_MACRO, 1, 0);
2231 ir3_SHPS_MACRO(struct ir3_block *block)
2234 ir3_instr_create(block, OPC_SHPS_MACRO, 1, 0);
2331 ir3_SAM(struct ir3_block *block, opc_t opc, type_t type, unsigned wrmask,
2348 sam = ir3_instr_create(block, opc, 1, nreg);