summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_sched.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_sched.c b/src/gallium/drivers/freedreno/ir3/ir3_sched.c
index cf09ceaf54b..24d7c6397c1 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_sched.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_sched.c
@@ -162,7 +162,8 @@ static void schedule(struct ir3_sched_ctx *ctx,
* Delay-slot calculation. Follows fanin/fanout.
*/
-static unsigned delay_calc2(struct ir3_sched_ctx *ctx,
+/* calculate delay for specified src: */
+static unsigned delay_calc_srcn(struct ir3_sched_ctx *ctx,
struct ir3_instruction *assigner,
struct ir3_instruction *consumer, unsigned srcn)
{
@@ -173,7 +174,7 @@ static unsigned delay_calc2(struct ir3_sched_ctx *ctx,
for (i = 1; i < assigner->regs_count; i++) {
struct ir3_register *reg = assigner->regs[i];
if (reg->flags & IR3_REG_SSA) {
- unsigned d = delay_calc2(ctx, reg->instr,
+ unsigned d = delay_calc_srcn(ctx, reg->instr,
consumer, srcn);
delay = MAX2(delay, d);
}
@@ -186,6 +187,7 @@ static unsigned delay_calc2(struct ir3_sched_ctx *ctx,
return delay;
}
+/* calculate delay for instruction (maximum of delay for all srcs): */
static unsigned delay_calc(struct ir3_sched_ctx *ctx,
struct ir3_instruction *instr)
{
@@ -194,7 +196,7 @@ static unsigned delay_calc(struct ir3_sched_ctx *ctx,
for (i = 1; i < instr->regs_count; i++) {
struct ir3_register *reg = instr->regs[i];
if (reg->flags & IR3_REG_SSA) {
- unsigned d = delay_calc2(ctx, reg->instr,
+ unsigned d = delay_calc_srcn(ctx, reg->instr,
instr, i - 1);
delay = MAX2(delay, d);
}