diff --git a/src/asahi/compiler/agx_liveness.c b/src/asahi/compiler/agx_liveness.c index 660d3790436..515461737e9 100644 --- a/src/asahi/compiler/agx_liveness.c +++ b/src/asahi/compiler/agx_liveness.c @@ -107,8 +107,8 @@ agx_compute_liveness(agx_context *ctx) /* Make live the corresponding source */ agx_foreach_phi_in_block(blk, phi) { agx_index operand = phi->src[agx_predecessor_index(blk, *pred)]; - assert(operand.type == AGX_INDEX_NORMAL); - BITSET_SET(live, operand.value); + if (operand.type == AGX_INDEX_NORMAL) + BITSET_SET(live, operand.value); } bool progress = false; diff --git a/src/asahi/compiler/agx_optimizer.c b/src/asahi/compiler/agx_optimizer.c index 7e30475beb6..693334b93de 100644 --- a/src/asahi/compiler/agx_optimizer.c +++ b/src/asahi/compiler/agx_optimizer.c @@ -199,8 +199,8 @@ agx_optimizer_copyprop(agx_instr **defs, agx_instr *I) (s != 0 || def->src[0].value >= 256)) || (I->op == AGX_OPCODE_DEVICE_STORE && (s != 1 || def->src[0].value >= 256)) || - I->op == AGX_OPCODE_PHI || I->op == AGX_OPCODE_ZS_EMIT || - I->op == AGX_OPCODE_ST_TILE || I->op == AGX_OPCODE_LD_TILE || + I->op == AGX_OPCODE_ZS_EMIT || I->op == AGX_OPCODE_ST_TILE || + I->op == AGX_OPCODE_LD_TILE || I->op == AGX_OPCODE_BLOCK_IMAGE_STORE || I->op == AGX_OPCODE_UNIFORM_STORE || I->op == AGX_OPCODE_ST_VARY)) continue; diff --git a/src/asahi/compiler/agx_register_allocate.c b/src/asahi/compiler/agx_register_allocate.c index b4cd2a1c6cc..e801de099f7 100644 --- a/src/asahi/compiler/agx_register_allocate.c +++ b/src/asahi/compiler/agx_register_allocate.c @@ -451,7 +451,6 @@ agx_insert_parallel_copies(agx_context *ctx, agx_block *block) agx_index src = phi->src[pred_index]; assert(dest.type == AGX_INDEX_REGISTER); - assert(src.type == AGX_INDEX_REGISTER); assert(dest.size == src.size); copies[i++] = (struct agx_copy){