[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
latest lossage
Rob,
So I've managed to compile most of code. All the remaining problems are of
the form:
#<TN t1[A1]> wired to a location that it conflicts with.
In some of the cases, I can't just change the lifetimes because the two tns
come from totally different vops:
...
9: move stream!45 => t2[A0]
10: move '"#<Alien value, Address = #x~X~:[+~D/~D~;~2*~], Size = ~D, Type = ~S>"!52[Const7] => t1[A1]
11: move-from-signed/unsigned t28 => t13[A2]
12: move t17 => t12[A3]
13: move lisp::offset!16 => t11[A4]
14: move '8!53 => t10[A5]
15: move t15 => t9[CS6]
16: move t14 => t8[CS7]
17: tail-call-named 'format!33[Const8] t29 t30 t2[A0] t1[A1] t13[A2] t12[A3] t11[A4] t10[A5] t9[CS6] t8[CS7] {8}
...
t1[A1] and t2[A0] are live across the move-from-signed/unsigned, but it
needs temps in those locations.
For the MIPS and the SPARC, I can change my allocation vops to avoid having
move vops wire TNs to passing locations, because I have enough extra
registers. But on the RT, we will have to come up with a more general
solution.
-William