Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • ram's avatar
    b117084c
    Majorly changed LET stuff to support assignments. Added · b117084c
    ram authored
    MAYBE-CONVERT-TO-ASSIGNMENT and MAYBE-CONVERT-TAIL-LOCAL-CALL.
    Generalized let conversion to handle both assignments and normal LETs.
    Now local calls that we can prove will be TR are converted to jump
    directly to the function.  We set NODE-TAIL-P to indicate this.
    RETURN nodes may be deleted because of this.  We have to handle 
    let conversion where the caller's RETURN was deleted due to tail 
    recursion.
    Changed MERGE-LETS to remove the lambda from the tail-set and set the
    LAMBDA-TAIL-SET to NIL.
    b117084c
    History
    Majorly changed LET stuff to support assignments. Added
    ram authored
    MAYBE-CONVERT-TO-ASSIGNMENT and MAYBE-CONVERT-TAIL-LOCAL-CALL.
    Generalized let conversion to handle both assignments and normal LETs.
    Now local calls that we can prove will be TR are converted to jump
    directly to the function.  We set NODE-TAIL-P to indicate this.
    RETURN nodes may be deleted because of this.  We have to handle 
    let conversion where the caller's RETURN was deleted due to tail 
    recursion.
    Changed MERGE-LETS to remove the lambda from the tail-set and set the
    LAMBDA-TAIL-SET to NIL.