Fix an AVER caused by ignoring closed over variables.
commitda94ef4b838ab357d22a41977b85ec27ab604640
authorStas Boukarev <stassats@gmail.com>
Wed, 24 Feb 2016 22:08:20 +0000 (25 01:08 +0300)
committerStas Boukarev <stassats@gmail.com>
Wed, 24 Feb 2016 22:19:00 +0000 (25 01:19 +0300)
tree6de627e59a7fe33ebda1fc583060b2a25372c103
parent51ecfa449a8a3199b14e4c24bd143ce91944fd88
Fix an AVER caused by ignoring closed over variables.

The recent optimization where zeroes in (vector 0 0) are not written
confuses the register allocator when (vector x) is in a closure and X
has a type of (EQL 0), since the closure is allocated but the value is
never used.
Only consider strict constants, this is similar to
5b4dae02596a5d6a6c5db9fed2de089d1bd5481f.

Reported by Eric Marsden.
src/compiler/generic/vm-ir2tran.lisp
tests/compiler.pure.lisp