- Jul 31, 1992
-
-
ram authored
source transform, even if there is no function-info.
-
- Jul 22, 1992
-
-
wlott authored
-
- Jun 04, 1992
-
-
ram authored
MAYBE-DELETE-EXIT to call MERGE-TAIL-SETS.
-
- Jun 03, 1992
-
-
ram authored
-
- Apr 14, 1992
-
-
ram authored
:NOTINLINE functional. The inlinep information must be retained, since we count on :NOTLININE calls never being local call converted.
-
- Apr 02, 1992
-
-
ram authored
continuation type assertions conflict.
-
- Apr 01, 1992
-
-
ram authored
-
- Feb 19, 1992
-
-
wlott authored
-
- Feb 11, 1992
-
-
ram authored
type, because there isn't any.
-
- Jan 25, 1992
-
-
ram authored
MV-combinations.
-
- Dec 20, 1991
-
-
ram authored
seems that we do derive inconsistent types in dead code.
-
- Dec 16, 1991
-
-
wlott authored
-
- Dec 15, 1991
- Dec 11, 1991
-
-
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.
-
- Nov 16, 1991
- Nov 15, 1991
-
-
ram authored
information, since both the derived and asserted types can independently spuriously be NIL during IR1 conversion. Also, deleted some unnecessary (and wrong) checking of CONTINUATION-REOPTIMIZE in IR1-OPTIMIZE-MV-COMBINATION.
-
- Nov 13, 1991
-
-
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.
-
- Nov 09, 1991
-
-
ram authored
if the result type is NIL. If so, it stops the block and links it to the component tail. Changed IR1-OPTIMIZE-BLOCK to call MAYBE-TERMINATE-BLOCK. Changed REOPTIMIZE-CONTINUATION to quietly do nothing when called on an unused continuation.
-
- Oct 03, 1991
-
-
ram authored
that we can keep track of the transform note.
-
- May 16, 1991
-
-
ram authored
so that we don't blow away type checks.
-
- Mar 11, 1991
-
-
ram authored
components. This can happen when we close over top-level variables.
-
- Mar 10, 1991
-
-
ram authored
-
- Feb 20, 1991
- Feb 14, 1991
-
-
ram authored
and to convert the call immediately and check if it wins.
-
- Feb 04, 1991
-
-
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.
-
- Jan 13, 1991
-
-
ram authored
PROPAGATE-TO-ARGS so that we know that the first arg won't be deleted yet.
-
- Jan 02, 1991
-
-
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.
-
- Oct 14, 1990
-
-
ram authored
continuation goes to an IF.
-
- Oct 11, 1990
-
-
ram authored
-
- Oct 05, 1990
-
-
ram authored
not a subtype of the asserted type, not just when the arg *value* is nota subtype. This is necessary to prevent representation selection from being defeated.
-
- Oct 03, 1990
-
-
ram authored
failed transform, instead of just one per call. Also, when a transform quietly gives up, blow away any old note for that transform.
-
- Sep 06, 1990
-
-
wlott authored
-
- Aug 24, 1990
-
-
wlott authored
-
- Jul 24, 1990
-
-
ram authored
substituting rather than after, since after substituting, there are no refs to propagate to.
-
- Jul 23, 1990
-
-
ram authored
of separate boolean flags.
-
- Jun 17, 1990
-
-
ram authored
lose again from people doing it on non-constant continuations.
-
- May 30, 1990
-
-
cvs2git authored
-