@@ -2458,7 +2458,7 @@ impl Assembler
24582458
24592459 if survivors. is_empty ( ) {
24602460 if call_result_live {
2461- // No survivors to restore — move result directly to output.
2461+ // No survivors to restore -- move result directly to output.
24622462 let out = Self :: rewritten_opnd ( out, assignments) ;
24632463 new_insns. push ( Insn :: Mov { dest : out, src : C_RET_OPND } ) ;
24642464 new_ids. push ( None ) ;
@@ -3257,7 +3257,7 @@ impl fmt::Display for Assembler {
32573257 }
32583258
32593259 // Use sorted_blocks() instead of block_order() because block_order()
3260- // calls rpo() → edges() which requires all blocks end with terminators.
3260+ // calls rpo() -> edges() which requires all blocks end with terminators.
32613261 // After arm64_scratch_split, blocks may not have terminators.
32623262 for bb in self . sorted_blocks ( ) {
32633263 let params = & bb. parameters ;
@@ -4323,7 +4323,7 @@ mod tests {
43234323 asm. number_instructions ( 16 ) ;
43244324 let intervals = asm. build_intervals ( live_in) ;
43254325
4326- // 3 registers — only r10 needs to spill
4326+ // 3 registers -- only r10 needs to spill
43274327 let preferred_registers = asm. preferred_register_assignments ( & intervals) ;
43284328 let ( assignments, num_stack_slots) = asm. linear_scan ( intervals, 3 , & preferred_registers) ;
43294329
@@ -4351,7 +4351,7 @@ mod tests {
43514351 asm. number_instructions ( 16 ) ;
43524352 let intervals = asm. build_intervals ( live_in) ;
43534353
4354- // Only 1 register available — forces spills
4354+ // Only 1 register available -- forces spills
43554355 let preferred_registers = asm. preferred_register_assignments ( & intervals) ;
43564356 let ( assignments, num_stack_slots) = asm. linear_scan ( intervals, 1 , & preferred_registers) ;
43574357
@@ -4431,9 +4431,9 @@ mod tests {
44314431 use crate :: backend:: current:: ALLOC_REGS ;
44324432 let regs = & ALLOC_REGS [ ..5 ] ;
44334433
4434- // Edge b1→ b2 (single succ): args=[UImm(1), v1], params=[v2, v3]
4435- // v1→ Reg(1), v2→ Reg(1), v3→ Reg(2)
4436- // Reg copy: Reg(1)→ Reg(2) → Mov(regs[2], regs[1])
4434+ // Edge b1-> b2 (single succ): args=[UImm(1), v1], params=[v2, v3]
4435+ // v1-> Reg(1), v2-> Reg(1), v3-> Reg(2)
4436+ // Reg copy: Reg(1)-> Reg(2) -> Mov(regs[2], regs[1])
44374437 // Imm move: Mov(regs[1], UImm(1))
44384438 // Inserted in b1 before Jmp: [Label, Mov, Mov, Jmp]
44394439 let b1_insns = & asm. basic_blocks [ b1. 0 ] . insns ;
@@ -4443,10 +4443,10 @@ mod tests {
44434443 assert ! ( matches!( & b1_insns[ 2 ] , Insn :: Mov { dest, src }
44444444 if * dest == Opnd :: Reg ( regs[ 1 ] ) && * src == Opnd :: UImm ( 1 ) ) ) ;
44454445
4446- // Edge b3→ b2 (single succ): args=[v4, v5], params=[v2, v3]
4447- // v4→ Reg(3), v5→ Reg(2), v2→ Reg(1), v3→ Reg(2)
4448- // Reg copy: Reg(3)→ Reg(1) → Mov(regs[1], regs[3])
4449- // Reg(2)→ Reg(2) is self-move, filtered
4446+ // Edge b3-> b2 (single succ): args=[v4, v5], params=[v2, v3]
4447+ // v4-> Reg(3), v5-> Reg(2), v2-> Reg(1), v3-> Reg(2)
4448+ // Reg copy: Reg(3)-> Reg(1) -> Mov(regs[1], regs[3])
4449+ // Reg(2)-> Reg(2) is self-move, filtered
44504450 // Inserted in b3 before Jmp: [Label, Mul, Sub, Mov, Jmp]
44514451 let b3_insns = & asm. basic_blocks [ b3. 0 ] . insns ;
44524452 assert_eq ! ( b3_insns. len( ) , 5 ) ;
@@ -4455,7 +4455,7 @@ mod tests {
44554455
44564456 // Verify original instructions in b3 are rewritten to physical registers.
44574457 // b3: Mul { left: r12, right: r13, out: r14 }, Sub { left: r13, right: UImm(1), out: r15 }
4458- // r12→ Reg(1), r13→ Reg(2), r14→ Reg(3), r15→ Reg(2)
4458+ // r12-> Reg(1), r13-> Reg(2), r14-> Reg(3), r15-> Reg(2)
44594459 assert ! ( matches!( & b3_insns[ 1 ] , Insn :: Mul { left, right, out }
44604460 if * left == Opnd :: Reg ( regs[ 1 ] ) && * right == Opnd :: Reg ( regs[ 2 ] ) && * out == Opnd :: Reg ( regs[ 3 ] ) ) ) ;
44614461 assert ! ( matches!( & b3_insns[ 2 ] , Insn :: Sub { left, right, out }
@@ -4473,16 +4473,16 @@ mod tests {
44734473 let ( assignments, _) = asm. linear_scan ( intervals. clone ( ) , 5 , & preferred_registers) ;
44744474
44754475 // Entry block b1 has parameters [v0, v1].
4476- // With 5 registers: v0 → Reg(0) = regs[0], arrival = param_opnd(0) = regs[0] → self-move, filtered
4477- // v1 → Reg(1) = regs[1], arrival = param_opnd(1) = regs[1] → self-move, filtered
4476+ // With 5 registers: v0 -> Reg(0) = regs[0], arrival = param_opnd(0) = regs[0] -> self-move, filtered
4477+ // v1 -> Reg(1) = regs[1], arrival = param_opnd(1) = regs[1] -> self-move, filtered
44784478 // Before resolve_ssa, b1 has: [Label, Jmp] = 2 insns
44794479 assert_eq ! ( asm. basic_blocks[ b1. 0 ] . insns. len( ) , 2 ) ;
44804480
44814481 asm. resolve_ssa ( & intervals, & assignments) ;
44824482
44834483 // After resolve_ssa, b1 should still have the same number of insns
44844484 // (plus any edge moves, but no entry param moves since they're all self-moves).
4485- // Edge b1→ b2 inserts 2 moves before Jmp: [Label, Mov, Mov, Jmp] = 4 insns
4485+ // Edge b1-> b2 inserts 2 moves before Jmp: [Label, Mov, Mov, Jmp] = 4 insns
44864486 // No additional entry param moves.
44874487 let b1_insns = & asm. basic_blocks [ b1. 0 ] . insns ;
44884488 assert_eq ! ( b1_insns. len( ) , 4 ) ;
@@ -4508,8 +4508,8 @@ mod tests {
45084508 let b3 = asm. new_block ( hir:: BlockId ( 2 ) , false , 2 ) ;
45094509
45104510 // b1: v0 = Add(123, 0), v1 = Add(v0, 456), Cmp(v1, 0), Jl(b2, [v0]), Jmp(b3, [v1])
4511- // v0 is live across b1→ b2 edge AND v1 is live across b1→ b3 edge
4512- // This forces v0 and v1 to have overlapping live ranges → different registers
4511+ // v0 is live across b1-> b2 edge AND v1 is live across b1-> b3 edge
4512+ // This forces v0 and v1 to have overlapping live ranges -> different registers
45134513 asm. set_current_block ( b1) ;
45144514 let label_b1 = asm. new_label ( "bb0" ) ;
45154515 asm. write_label ( label_b1) ;
@@ -4562,8 +4562,8 @@ mod tests {
45624562
45634563 asm. resolve_ssa ( & intervals, & assignments) ;
45644564
4565- // A new interstitial block should have been created for the critical edge b1→ b3
4566- // b1→ b3 is critical because b1 has 2 successors and b3 has 2 predecessors
4565+ // A new interstitial block should have been created for the critical edge b1-> b3
4566+ // b1-> b3 is critical because b1 has 2 successors and b3 has 2 predecessors
45674567 assert_eq ! ( asm. basic_blocks. len( ) , 4 ) ;
45684568 let split_block_id = BlockId ( 3 ) ;
45694569
@@ -4587,11 +4587,11 @@ mod tests {
45874587 panic ! ( "Expected Jmp(b3) at end of split block" ) ;
45884588 }
45894589
4590- // The split block should have a Mov for v1→ v4
4590+ // The split block should have a Mov for v1-> v4
45914591 let has_mov = split_insns. iter ( ) . any ( |insn| matches ! ( insn, Insn :: Mov { .. } ) ) ;
4592- assert ! ( has_mov, "Expected Mov in split block for v1→ v4" ) ;
4592+ assert ! ( has_mov, "Expected Mov in split block for v1-> v4" ) ;
45934593
4594- // b2→ b3 is not a critical edge (b2 has single succ), so moves go before Jmp in b2
4594+ // b2-> b3 is not a critical edge (b2 has single succ), so moves go before Jmp in b2
45954595 let v3_alloc = assignments[ v3. vreg_idx ( ) . 0 ] . unwrap ( ) ;
45964596 let b2_insns = & asm. basic_blocks [ b2. 0 ] . insns ;
45974597 if v3_alloc != v4_alloc {
0 commit comments