[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