Lines Matching refs:ir3_instruction
97 struct ir3_instruction *scheduled; /* last scheduled instr */
98 struct ir3_instruction *addr0; /* current a0.x user, if any */
99 struct ir3_instruction *addr1; /* current a1.x user, if any */
100 struct ir3_instruction *pred; /* current p0.x user, if any */
102 struct ir3_instruction *split; /* most-recently-split a0/a1/p0 producer */
123 struct ir3_instruction *instr;
144 struct ir3_instruction *collect;
169 struct ir3_instruction *instr);
170 static void sched_node_add_dep(struct ir3_instruction *instr,
171 struct ir3_instruction *src, int i);
174 is_scheduled(struct ir3_instruction *instr) in is_scheduled()
181 sched_check_src_cond(struct ir3_instruction *instr, in sched_check_src_cond()
182 bool (*cond)(struct ir3_instruction *, in sched_check_src_cond() argument
205 is_outstanding_tex_or_prefetch(struct ir3_instruction *instr, in is_outstanding_tex_or_prefetch()
222 is_outstanding_sfu(struct ir3_instruction *instr, struct ir3_sched_ctx *ctx) in is_outstanding_sfu()
238 cycle_count(struct ir3_instruction *instr) in cycle_count()
256 schedule(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in schedule()
353 could_sched(struct ir3_instruction *instr, struct ir3_instruction *src) in could_sched()
369 struct ir3_instruction *instr) in check_instr()
403 struct ir3_instruction *indirect = ir->a0_users[i]; in check_instr()
420 struct ir3_instruction *indirect = ir->a1_users[i]; in check_instr()
469 struct ir3_instruction *baryf = ir->baryfs[i]; in check_instr()
494 nearest_use(struct ir3_instruction *instr) in nearest_use()
513 is_only_nonscheduled_use(struct ir3_instruction *instr, in is_only_nonscheduled_use()
514 struct ir3_instruction *use) in is_only_nonscheduled_use()
526 live_effect(struct ir3_instruction *instr) in live_effect()
562 should_defer(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in should_defer()
818 static struct ir3_instruction *
844 static struct ir3_instruction *
845 split_instr(struct ir3_sched_ctx *ctx, struct ir3_instruction *orig_instr) in split_instr()
847 struct ir3_instruction *new_instr = ir3_instr_clone(orig_instr); in split_instr()
857 static struct ir3_instruction *
858 split_addr(struct ir3_sched_ctx *ctx, struct ir3_instruction **addr, in split_addr()
859 struct ir3_instruction **users, unsigned users_count) in split_addr()
861 struct ir3_instruction *new_addr = NULL; in split_addr()
867 struct ir3_instruction *indirect = users[i]; in split_addr()
904 static struct ir3_instruction *
908 struct ir3_instruction *new_pred = NULL; in split_pred()
916 struct ir3_instruction *predicated = ir->predicates[i]; in split_pred()
963 sched_node_init(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in sched_node_init()
974 sched_node_add_dep(struct ir3_instruction *instr, struct ir3_instruction *src, in sched_node_add_dep()
1005 mark_kill_path(struct ir3_instruction *instr) in mark_kill_path()
1024 is_output_collect(struct ir3_instruction *instr) in is_output_collect()
1039 is_output_only(struct ir3_instruction *instr) in is_output_only()
1055 sched_node_add_deps(struct ir3_instruction *instr) in sched_node_add_deps()
1171 struct ir3_instruction *instr; in sched_block()
1194 struct ir3_instruction *new_instr = NULL; in sched_block()
1261 get_array_id(struct ir3_instruction *instr) in get_array_id()
1279 depends_on(struct ir3_instruction *instr, struct ir3_instruction *prior) in depends_on()
1311 add_barrier_deps(struct ir3_block *block, struct ir3_instruction *instr) in add_barrier_deps()
1320 struct ir3_instruction *pi = in add_barrier_deps()
1321 LIST_ENTRY(struct ir3_instruction, prev, node); in add_barrier_deps()
1341 struct ir3_instruction *ni = in add_barrier_deps()
1342 LIST_ENTRY(struct ir3_instruction, next, node); in add_barrier_deps()