Skip to content
Snippets Groups Projects
  1. Feb 14, 1991
  2. Feb 04, 1991
    • ram's avatar
      Added IR1-OPTIMIZE-MV-COMBINATION, which dispatches to various · 4d1b0a90
      ram authored
      MV-combination optimizers depending on the kind of call.  We convert
      newly discovered MV-BINDs local :MV-LET calls, and convert 
      MV-CALLs to MV-BINDs if the argument count is known.  Also
      added a VALUES-LIST IR1 optimizer that converts (values-list (list ...))
      into (values ...).
      These changes make inline expansion of functions that have &rest args
      and do APPLY convert to FUNCALL.
      4d1b0a90
  3. Jan 13, 1991
  4. Jan 02, 1991
    • ram's avatar
      Mucho enhancements. · a587cf3f
      ram authored
      If we discover a known call, and that call has a source transform or is a
      	
      conditional, then we replace the function with a lambda that
      just calls the function again.  This gives IR1 conversion another chance
      to permute the call.
      Changed IR1 transforms to test the function type with :STRICT-RESULT T
      since this is almost always what you want when writing a transform.
      In constant folding, if the call returns multiple values, change
      the function to a call to VALUES, rather than just blowing off
      constant folding.
      Added DELETE-LET which deletes the bind node for a let when all 
      its variables are deleted.  This cleans up the IR1 a great deal, enabling
      some optimizations.
      Added an IR1 optimizer for VALUES that converts MV-BIND/VALUES into a
      LET (as long as the VALUES is the only use of the values continuation.)
      This helps optimization of the results of IR1 transforms for multiple
      value functions.
      Added a IR1 transform for VALUES that discards all but the first
      value when the context is not a multiple-value receiver.
      a587cf3f
  5. Oct 14, 1990
  6. Oct 11, 1990
  7. Oct 05, 1990
  8. Oct 03, 1990
  9. Sep 06, 1990
  10. Aug 24, 1990
  11. Jul 24, 1990
  12. Jul 23, 1990
  13. Jun 17, 1990
  14. May 30, 1990
  15. May 17, 1990
  16. May 16, 1990
  17. May 12, 1990
    • ram's avatar
      Enhanced let optimization: · e6cccc13
      ram authored
      Now we substitute for global function variables when the reference isn't
      :notinline.
      Also, single-reference let variables can be squeezed out by replacing
      the ref's value continuation with the argument continuation.  The biggest
      advantage of this is that it allows output type assertions on the reference
      to be seen by the argument, which helps INCF, PSETQ, etc.
      e6cccc13
  18. May 09, 1990
  19. May 07, 1990
  20. Apr 27, 1990
  21. Apr 24, 1990
  22. Mar 16, 1990
  23. Mar 05, 1990
  24. Feb 06, 1990
Loading