- Jan 03, 1991
-
-
ram authored
we don't get spurious 'defined but never used' errors. Similarly, set leaf-ever-used on all optional-dispatch entry points. Fixed LABELS to backpatch the FENV as well as substituting for references so that inline expansion of a LABELS function will work. Made PROCLAIM recognize FREEZE-TYPE.
-
- 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.
-
ram authored
-
ram authored
-
ram authored
automatically handled by VALID-FUNCTION-USE.
-
ram authored
deleted, it is not totally simple to find the home lambda. Moved unreferenced variable noting into NOTE-UNREFERENCED-VARS, since this code is now shared with function deleting code in ir1util.
-
ram authored
is necessary for some cases of dead code deletion (functions that are never called.)
-
ram authored
is unsafe before punting. Fixed ASSERT-DEFINITION-TYPE to propagate the new type information to any refs, and also to not set the type when the argument has sets.
-
ram authored
the calling environment of a LET was even if the BIND gets deleted (due to all variables being deleted.) Also added many uses of REQUIRED-ARGUMENT to suppress type warnings. Added a use of FREEZE-TYPE to speed type tests for these types.
-
- Dec 28, 1990
-
-
ram authored
rolling its own, so that it doesn't choke when a type check is weakened but left simple (which is only known to C-C-T).
-
ram authored
debug-info is not important, so that we can use CHECK-STRUCTURE, etc. Changed TYPE-TEST-COST to penalize predicates as opposed to check templates so that we will use a check template in favor of a "same cost" predicate.
-
- Dec 19, 1990
- Dec 18, 1990
-
-
wlott authored
-
wlott authored
-
wlott authored
-
wlott authored
-
wlott authored
-
wlott authored
the various structure-{ref,set,length} vops had to be fixed.
-
wlott authored
-
wlott authored
flushed the defknown for structurify, and added one for make-structure.
-
wlott authored
,.
-
wlott authored
-
wlott authored
structurifying vectors.
-
ram authored
-
wlott authored
all the handlers needed for the sparc port, stuff has been moved around to localize the machine specific parts.
-
wlott authored
to the OS_VM_mumble names defined in os.h.
-
wlott authored
returning from lisp instead of relying on it being saved. Restore the %fsr from the correct place in a sigcontext (was loading it with the value for the Y register).
-
wlott authored
cause we use bcopy to copy the old stack into place.
-
- Dec 17, 1990
-
-
ram authored
-
wlott authored
-
wlott authored
-
wlott authored
-
wlott authored
was signaled due to an unimp, a tcc, or a taddcctv instruction, and act accordingly.
-
ram authored
-
wlott authored
If it is, assume that it is the word offset and that the code object is stored on the stack after it.
-
wlott authored
-
- Dec 16, 1990
- Dec 15, 1990
-
-
wlott authored
-