You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here, we can see 5 columns listed. What is less obvious, however, is that there are in fact 6 registers in the list. We can see that r5 is not listed above and, in fact, is a duplicate of m1.C/#EXPAND[(+ 1 A)]. This seems unexpected to me, and suggests a bug in the register allocation mechanism. It also seems that corset is currently working around this.
The text was updated successfully, but these errors were encountered:
This puts in place a fix for duplicate registers being added during
expression expansion. Its not clear whether there are any other places
where this can happen, but none are being triggered on our (largish)
example.
This puts in place a fix for duplicate registers being added during
expression expansion. Its not clear whether there are any other places
where this can happen, but none are being triggered on our (largish)
example.
Ok, have managed to put in a fix for this which addresses the example above. There maybe other situations where this could arise --- I didn't check. But they weren't flagged building our large example.
Minimal example for reproduction:
Run with
corset debug -Ceeee test.lisp
gives this output:Here, we can see
5
columns listed. What is less obvious, however, is that there are in fact6
registers in the list. We can see thatr5
is not listed above and, in fact, is a duplicate ofm1.C/#EXPAND[(+ 1 A)]
. This seems unexpected to me, and suggests a bug in the register allocation mechanism. It also seems thatcorset
is currently working around this.The text was updated successfully, but these errors were encountered: