more funky &REST smartness
commit373df66df093e8c1771069dcc30c2ec32598af6a
authorNikodemus Siivola <nikodemus@random-state.net>
Sat, 22 Sep 2012 22:48:06 +0000 (23 01:48 +0300)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 23 Sep 2012 01:52:17 +0000 (23 04:52 +0300)
treee077674defc284edf15c6e44f33a2f37aff1231d
parentef0891e470ff35840def7a5717ede18a58266e76
more funky &REST smartness

  Extend the earlier VALUES-LIST optimization for &REST arguments
  into other operations as well. For starters:

    CAR
    ELT
    ENDP
    FIRST
    IF
    LENGTH
    LIST-LENGTH
    NTH

  All of these can now access the hidden &MORE context when given a &REST
  argument that is not used by other operations, making it possible for the
  compiler to elide the entire rest-list allocation in those cases.
src/compiler/fndb.lisp
src/compiler/ir1-translators.lisp
src/compiler/locall.lisp
src/compiler/srctran.lisp