Cleanup: remove remaining cfg gating for mir_typeop_poc in builder binary-op compare pre-cast

- Always use TypeOp(Cast) for IntegerBox pre-normalization path.
- All tests remain green (179).
This commit is contained in:
Moe Charm
2025-08-26 06:38:15 +09:00
parent 378a2bc174
commit e16c64f6ae

View File

@ -490,16 +490,8 @@ impl MirBuilder {
&& self.value_origin_newbox.get(&rhs).map(|s| s == "IntegerBox").unwrap_or(false) { && self.value_origin_newbox.get(&rhs).map(|s| s == "IntegerBox").unwrap_or(false) {
let li = self.value_gen.next(); let li = self.value_gen.next();
let ri = self.value_gen.next(); let ri = self.value_gen.next();
#[cfg(feature = "mir_typeop_poc")] self.emit_instruction(MirInstruction::TypeOp { dst: li, op: super::TypeOpKind::Cast, value: lhs, ty: MirType::Integer })?;
{ self.emit_instruction(MirInstruction::TypeOp { dst: ri, op: super::TypeOpKind::Cast, value: rhs, ty: MirType::Integer })?;
self.emit_instruction(MirInstruction::TypeOp { dst: li, op: super::TypeOpKind::Cast, value: lhs, ty: MirType::Integer })?;
self.emit_instruction(MirInstruction::TypeOp { dst: ri, op: super::TypeOpKind::Cast, value: rhs, ty: MirType::Integer })?;
}
#[cfg(not(feature = "mir_typeop_poc"))]
{
self.emit_instruction(MirInstruction::Cast { dst: li, value: lhs, target_type: MirType::Integer })?;
self.emit_instruction(MirInstruction::Cast { dst: ri, value: rhs, target_type: MirType::Integer })?;
}
(li, ri) (li, ri)
} else { (lhs, rhs) }; } else { (lhs, rhs) };
self.emit_instruction(MirInstruction::Compare { dst, op, lhs: lhs2, rhs: rhs2 })?; self.emit_instruction(MirInstruction::Compare { dst, op, lhs: lhs2, rhs: rhs2 })?;