Robustify specialised IF/IF conversion introduced in 729ce57
authorPaul Khuong <pvk@pvk.ca>
Fri, 24 May 2013 17:08:55 +0000 (13:08 -0400)
committerPaul Khuong <pvk@pvk.ca>
Fri, 24 May 2013 18:49:40 +0000 (14:49 -0400)
commit0e6592ef4d6ec26d34ad468971a022a98d3d9bb2
tree480a64c8ed01cbd443e833d237f7eaf90a5935ac
parent03090fcd920d559cfe9c35f20c4038a8c74d0e5b
Robustify specialised IF/IF conversion introduced in 729ce57

 * When unlinking a node from its destination LVAR, always mark
   the node as potentially up for dead code elimination. IR2 can
   become really confused when converting dead code; a more
   systematic cleanup pass might provide a useful safety net.

 * The changes make a widely-used ir1-manipulation function safer,
   so this might also fix some other obscure compiler bug.

 * Reported by James Y Knight on IRC and Fila Kolodny on Launchpad
   (fixes lp#1183496).
src/compiler/ir1util.lisp