Skip to content
Snippets Groups Projects
  1. Dec 11, 1991
    • ram's avatar
      Give a warning in DERIVE-NODE-TYPE when we prove inconsistent types. This · 3cdf64f6
      ram authored
      is probably always a bug, but I don't want to use ASSERT until all 
      the problems are fixed.
      Changed RETURN optimization to call MAYBE-CONVERT-TAIL-CALL.
      Updated for new tail-set semantics. 
      Changed VALUES IR1 transform and SUBSTITUTE-SINGLE-USE-CONTINUATION to
      clear out the old NODE-DERIVED-TYPE so that the type doesn't spuriously 
      go to NIL.
      3cdf64f6
  2. Nov 16, 1991
  3. Nov 15, 1991
  4. Nov 13, 1991
    • ram's avatar
      When optimizing combinations, don't do the "efficiency hack" of checking · 42396069
      ram authored
      whether any args have reoptimize set.  Most calls to IR1-OPTIMIZE-COMBINATION
      that this inhibits are actually desirable.
      
      Deleted assertion in JOIN-SUCCESSOR-IF-POSSIBLE.  This really can happen, and
      DELETE-CONTINUATION should do the right thing.
      
      Changed MAYBE-TERMINATE-BLOCK to take an explicit IR1-P flag.  Fixed it not to
      consider deleted continuations to have type NIL.  Use DELETE-CONTINUATION on
      the old continuation if it has no references and we aren't in IR1 conversion.
      42396069
  5. Nov 09, 1991
  6. Oct 03, 1991
  7. May 16, 1991
  8. Mar 11, 1991
  9. Mar 10, 1991
  10. Feb 20, 1991
  11. Feb 14, 1991
  12. 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
  13. Jan 13, 1991
  14. 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
  15. Oct 14, 1990
  16. Oct 11, 1990
  17. Oct 05, 1990
  18. Oct 03, 1990
  19. Sep 06, 1990
  20. Aug 24, 1990
  21. Jul 24, 1990
  22. Jul 23, 1990
  23. Jun 17, 1990
  24. May 30, 1990
  25. May 17, 1990
  26. May 16, 1990
  27. 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
  28. May 09, 1990
  29. May 07, 1990
  30. Apr 27, 1990
  31. Apr 24, 1990
  32. Mar 16, 1990
  33. Mar 05, 1990
  34. Feb 06, 1990
Loading