Only fuse with spill slots for cross-section references.
This commit is contained in:
@@ -1307,7 +1307,7 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow)
|
||||
}
|
||||
}
|
||||
if (!(as->freeset & allow) &&
|
||||
(allow == RSET_EMPTY || ra_hasspill(ir->s) || ref < as->loopref))
|
||||
(allow == RSET_EMPTY || ra_hasspill(ir->s) || iscrossref(as, ref)))
|
||||
goto fusespill;
|
||||
return ra_allocref(as, ref, allow);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user